نمایش نتایج 1 تا 11 از 11

نام تاپیک: بررسی وجود نام و پسورد کاربران در بانک اسکیوئل

  1. #1

    بررسی وجود نام و پسورد کاربران در بانک اسکیوئل

    اگر کاربر در همان صفحه ی اول روی دکمه ی ورود کلیک کرد باید چک شود آیا دردیتابیس وجود دارد و آیا را صحیح وارد کرده است یا خیر؟ سپس به یک صفحه ID و جداگانه ی خوش آمد گویی و یا برعکس!! هدایت می شود.

    1-چگونه باید پس از مقایسه بانک اطلاعات با تکست باکس ها دستوری مبنی بر انتقال به صفحه ای
    دیگر نوشت؟
    String insertCmd =

    "IF (SELECT name,password from tblSignup where (name='"+TextBox1.Text.Trim()+"')AND"+
    "(password='"+TextBox2.Text.Trim()+"'))"+…?
    Exists
    2-برای اینکه چک شود نامی که کاربران در ثبت نام جدید (نیو یوزر) تایپ میکنن تکراری نیست چطور باید یک اکسپشن هندلر طراحی و برنامه نویسی کرد؟
    3-در این خط برای اینکه چک شود که یوزر و پسورد تایپ شده توسط کاربر در بانک اسکیوئل هست یا نه چه تغییراتی باید بدهیم.
    (("if((txtID=="shahabedeen") && (txtPass=="Password

    در ضمن منبع مقاله را هم اشاره کنید!
    3-چگونه میشود مقدار یک متغیر که در رویه ذخیره شده(استورد پروسیجر) مقدار دهی شده را به یک تکست باکس نسبت داد؟(سورس)

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342

    Re: بررسی وجود نام و پسورد کاربران در بانک اسکیوئل

    خلاصه ی تمام سوالات به صورت کلی : من تابع زیر را برای خواندن اطلاعات از دیتابیس نوشته ام . این تابع سورسش برای انجام کارهات بهت دید می ده :

    		/// <summary>
    /// find Bind ...
    /// </summary>
    public object[] FindBindToَArray(
    string webConfigKey_ConnectionStr,
    string strTableName,
    string strFieldNameToFind,
    object ValueToFind,
    Label lblErrorMessageToShow,
    int[] intFieldsOrderToShow
    )
    {

    object[] ArrayNameToBind = new object[intFieldsOrderToShow.Length];

    try
    {
    SqlConnection m_sqlconnection =
    new SqlConnection( getConnectionStrFormWebConfig(webConfigKey_Con nectionStr) );

    Type myType = ValueToFind.GetType();
    string strSQL;

    if ( myType.IsValueType )
    strSQL = "SELECT * FROM " +
    strTableName +" where "+
    strFieldNameToFind+"="+ ValueToFind ;
    else
    strSQL = "SELECT * FROM " +
    strTableName + " where " +
    strFieldNameToFind + "='" + ValueToFind + "'" ;

    SqlCommand m_sqlcommand = new SqlCommand(strSQL, m_sqlconnection);

    m_sqlcommand.Connection.Open();

    SqlDataReader myReader = m_sqlcommand.ExecuteReader();

    myReader.Read();

    string strTemp="";

    for(int i=0 ; i < intFieldsOrderToShow.Length ; i++)
    {
    strTemp = myReader.GetValue( intFieldsOrderToShow[i] ).ToString() ;

    ArrayNameToBind[i] = strTemp;
    }

    myReader.Close();
    m_sqlcommand.Connection.Close();

    lblErrorMessageToShow.Text ="";

    return
    ArrayNameToBind;


    }
    catch( Exception ee)
    {
    lblErrorMessageToShow.Text = ee.ToString();
    ArrayNameToBind = null;
    return
    ArrayNameToBind;
    }

    }

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    سلام

    من اون تابع را اضافی نوشته ام. لطفا آنرا از کد پاک کنید و بجای آن خیلی راحت کانکشن استرینگ خودتان را قرار دهید تا مشکل حل شود. :wink:

  4. #4
    :o کاری که الان می خواهم انجام بدهم آنستکه:
    1-استورد پروسیجری ساخته.
    CREATE PROCEDURE proc_find_user @UserName varchar(50),@psw varchar(50)AS select * from tblSignup where (name =@UserName and password = @psw) return
    GO

    2-محتویات 2 تا تکست باکس ها را بعنوان 2 آرگومان ورودی آن spرد ارجاع نموده.
    "EXEC proc_find_user " +"'"+TextBox1.Text+"'"+TextBox2.Text+"'"
    3-در باتن کلیک چک کنم که ایا این دو متغیر که با تکست باکس رد کردیم به آرگومانهای spدر بانک اگزیستز؟
    4-با یک رشته یا یک تابع بولی (این مطلب چک میشه)
    5-اگر بله به خوشامدگویی :roll:
    6-وگرنه اینولید به کاربر اعلام بشه.
    :shock: خروجی اون تابع را چطور باید بنویسم تا چک کند که درون بانک یوزر و پسورد وارد شده وجود دارد؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    http://www.dotnet247.com/247referenc...es/0/3154.aspx :wink:

    و


    Here is a stored proc that returns an error code:

    CREATE PROCEDURE p_GetOrderByOrderNum
    @ErrorCode INT OUTPUT,
    @OrderNum INT
    AS

    SELECT
    OrderID,
    OrderNum,
    OrderDate,
    Etc
    FROM
    tblOrder
    WHERE
    OrderNum = @OrderNum

    IF @@ERROR <> 0
    SET @ErrorCode = @@ERROR
    ELSE
    IF @@ROWCOUNT <> 0
    SET @ErrorCode = -1
    GO


    Here is C#‎ code for call the proc:

    using System.Configuration;
    using System.Data;
    using System.SqlClient;

    ...

    int orderNumber = ######;

    SqlConnection sqlConnection = new SqlConnection(ConfigurationSettings.AppSetting s["ConnectionString"]);

    sqlConnection.Open();
    try
    {
    SqlParameter param;

    SqlCommand cmd = new SqlCommand("p_GetOrderByOrderNum", sqlConnection);
    cmd.CommandType = CommandType.StoredProcedure;

    param = cmd.Parameters.Add("@ErrorCode", SqlDbType.Int);
    param.Direction = ParameterDirection.Output;

    param = cmd.Parameters.Add("@OrderNum", SqlDbType.Int);
    param.Value = orderNumber;

    SqlDataReader reader = cmd.ExecuteReader();
    int errorCode = (int) cmd.Parameters["@ErrorCode"].Value;

    DisplayResults();
    }
    finally
    {
    sqlConnection.Dispose();
    }

  6. #6
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    برای اینکه اینجا کدها درست نمایش داده بشه فقط کافی است کد ها را انتخاب کنی و سپس روی دکمه ی code‌ که بالای صفحه ی نوشتن است کلیک کنی. اینطوری بهتر می شود....

    اون تابع نمایش نتایج چیز مهمی نبود و خودت هم می تونی بنویسی.

  7. #7
    CREATE PROCEDURE ErrorHandler 
    @ErrorCode INT OUTPUT,
    @name varchar,
    @password varchar
    AS

    SELECT
    name,
    password
    FROM
    tblSignup
    WHERE
    (name = @name and password=@password)

    IF @@ERROR <> 0
    SET @ErrorCode = @@ERROR
    ELSE
    IF @@ROWCOUNT <> 0
    SET @ErrorCode = -1

    GO
    در متن برنامه تغییرات اعمال شد اما...
    private void Button2_Click(object sender, System.EventArgs e)
    {
    string name = "";

    //SqlConnection sqlConnection = new SqlConnection(ConfigurationSettings.AppSetting s["ConnectionString"]);
    SqlConnection s=new SqlConnection("Server=(local);uid=sa;p wd=;database=AQCh08");

    s.Open();
    try
    {
    SqlParameter param;

    SqlCommand cmd = new SqlCommand("ErrorHandler", s);
    cmd.CommandType = CommandType.StoredProcedure;

    param = cmd.Parameters.Add("@ErrorCode", SqlDbType.Int);
    param.Direction = ParameterDirection.Output;

    param = cmd.Parameters.Add("@name", SqlDbType.Int);
    //param= cmd.Parameters.Add("@password",SqlDbType.Int&# 41;;
    param.Value = name.ToString();

    SqlDataReader reader = cmd.ExecuteReader();
    int errorCode = (int) cmd.Parameters["@ErrorCode"].Value;

    //DisplayResults();
    }
    finally
    {
    s.Dispose();
    }
    }

  8. #8
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Web;
    using System.Configuration;
    using System.Web.Configuration;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    namespace AQCh08
    {
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.HyperLink HyperLink1;
    protected System.Web.UI.WebControls.HyperLink HyperLink2;
    protected System.Web.UI.WebControls.HyperLink HyperLink3;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Button Button2;
    protected System.Web.UI.WebControls.Label lblErrorMessage;
    protected System.Web.UI.WebControls.TextBox TextBox2;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page here
    if ( ! Page.IsPostBack ) // run 1 time
    {
    HttpCookie cookieUserAccess = Request.Cookies["cookieUserValid"];
    if(cookieUserAccess != null)
    {
    if(Request.Cookies["cookieUserValid"]. Value!="yes")
    Response.Redirect("WebForm2.aspx");
    }
    else
    Response.Redirect("WebForm1.aspx");
    }
    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.Button2.Click += new System.EventHandler(this.Button2_Click);
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion
    //-------------------------------------------------------------------------------
    public string getConnectionStrFormWebConfig(string getConnectionStrFromWebConfig)
    {
    // the best way for getting state from web.config
    return System.Configuration.ConfigurationSettings.AppSett ings[getConnectionStrFromWebConfig];
    }


    private void Button1_Click(object sender, System.EventArgs e)
    {
    HttpCookie cookieUserAccess = new HttpCookie("cookieUserValid");
    cookieUserAccess.Value ="no";
    Response.AppendCookie(cookieUserAccess);
    SqlConnection MyConnection =new SqlConnection(getConnectionStrFromWebConfig&#4 0;"ConnStr"));
    SqlDataAdapter MyCommand =new SqlDataAdapter("proc_find_user",MyConnection&# 41;;
    MyCommand.SelectCommand.CommandType=CommandType.St oredProcedure;
    MyCommand.SelectCommand.Parameters.Add(
    new SqlParameter("@UserName",SqlDbType.VarChar&#41 ;);
    MyCommand.SelectCommand.Parameters.Add("@psw", SqlDbType.VarChar);
    MyCommand.SelectCommand.Parameters["@UserName" ].Value =TextBox1.Text;
    MyCommand.SelectCommand.Parameters["@psw"] .Value=TextBox2.Text;
    DataSet DS =new DataSet(); MyCommand.Fill(DS,"tblSigup");
    if (DS.Tables["tblSignup"].Rows.Count==0& #41;
    {
    lblErrorMessage.Text="نام کاربر معتبر نیست و یا رمز صحیح نیست";
    cookieUserAccess.Value ="no"; Response.AppendCookie(cookieUserAccess);&# 125;
    else
    {
    cookieUserAccess.Value="yes";
    Response.AppendCookie(cookieUserAccess);
    Response.Redirect("WebForm5.aspx");
    }
    }
    اما متاسفانه خطای زیر را گزارش می دهد:
    E:\Inetpub\wwwroot\classes\Chap08\AQCh08\WebForm1. aspx.cs(87): The name 'getConnectionStrFromWebConfig' does not exist in the class or namespace 'AQCh08.WebForm1'

  9. #9
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    		public string getConnectionStrFormWebConfig(string webConfigKey_ConnectionStr)
    {
    // the best way for getting state from web.config
    return System.Configuration.ConfigurationSettings.AppSett ings[webConfigKey_ConnectionStr];
    }

  10. #10
    اینرا که در کد نوشته ام:
     public string getConnectionStrFormWebConfig(string getConnectionStrFromWebConfig) 
    {
    // the best way for getting state from web.config
    return System.Configuration.ConfigurationSettings.AppSett ings[getConnectionStrFromWebConfig];
    }

  11. #11
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
    !! oooops

    یک کمکی اشتباه شده!
    من نوشته ام getConnectionStrFormWebConfig
    شما form‌ را from کنید درست می شود! :oops: :lol:

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •