簡體   English   中英

值未從文本框傳遞到代碼

[英]Values not passed from Textbox to code

我的代碼:

區域檢查“登錄”按鈕的作用

    private void btnLogin_Click(object sender, EventArgs e)
    {
        if (this.txtUserName.Text == "" || this.txtPassword.Text == "")
        {
            MessageBox.Show("Credentials are missing...", clsVariables._strProjectName, MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        else
        {
            string _strQuery = "SELECT AtNumConstructorID, TxtConstructorName AS Fullname, tblConstructorDetails.txtUserName FROM tblConstructorDetails WHERE txtUserName = '" + this.txtUserName.Text + "' AND TxtPassword LIKE '" + this.txtPassword.Text + "' ";
            if (clsFunctions.recordExist(_strQuery, "tblConstructorDetails") == true)
            {
                clsVariables._sTimeLogin = DateTime.Now.ToLongTimeString();//recording the time of login in the CES
                long totalRow = 0;
                //Set the Data Adapter
                OleDbDataAdapter da = new OleDbDataAdapter(_strQuery, clsConnections._olbedbCN);
                DataSet ds = new DataSet(); // creating a dataset to enter the values in the dataadapter
                da.Fill(ds, "tblConstructorDetails");
                totalRow = ds.Tables["tblConstructorDetails"].Rows.Count - 1;
                clsVariables._sContId = Convert.ToInt32(ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(0));
                clsVariables._sConstructor = ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(1).ToString();
                clsVariables._sUserID = ds.Tables["tblConstructorDetails"].Rows[0].ItemArray.GetValue(2).ToString();
                clsUserLogs.RecordLogin(clsVariables._sTimeLogin, clsVariables._sContId);
                clsApplication._boolAPP_CONNECTED = true;
                this.Close();

            }
            #region trash code 2
            /*string _strUsername = this.txtUserName.Text.Trim();
            string _strPassword = txtPassword.Text;
            string _strSQL = "select * from tblConstructorDetails where Upper(TxtUserName) = '" +  _strUsername.ToUpper() +"' and TxtPassword = '" + _strPassword +  "'";
            if ()
            {

            } */
            #endregion

            else
            {
                clsVariables._intAttempt--;
                if (clsVariables._intAttempt > 0)
                {
                    MessageBox.Show("Login failed. Please try again. Only " + Convert.ToString(clsVariables._intAttempt) + " attempts remaining...", "Login Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show("Exiting the system", clsVariables._strProjectName, MessageBoxButtons.OK);
                    this.Close();
                }
            }
        }
    }
    #endregion

recordExist的代碼:

    #region Filters the records if exists in the table
    //Filter if Recort is Exist in the Table.
    public static bool recordExist(string _sSQL, string _sTable)
    {
        long totalRow = 0;
        //Set the Data Adapter
        OleDbDataAdapter _oledbAdDa = new OleDbDataAdapter(_sSQL, _olbedbCN);
        DataSet _ds = new DataSet();
        _oledbAdDa.Fill(_ds, _sTable);
        totalRow = Convert.ToInt32(_ds.Tables[_sTable].Rows.Count);
        if (totalRow > 0) { return true; }
        else { return false; }
    }
    #endregion

我面臨的問題是,當我嘗試在相應的文本框中輸入值時,該值未傳遞給查詢以檢查登錄名是否可用。

請進行相同的檢查,並向我提供可能的解決方案以及發生這種情況的原因。

提前感謝...

您可能想從以下位置更改sql中的字符串比較運算符

=

喜歡

我感覺到您錯過了問您的問題,實際上問題是sql不返回任何數據。

string _strQuery = "SELECT AtNumConstructorID, TxtConstructorName AS Fullname, tblConstructorDetails.txtUserName FROM tblConstructorDetails WHERE txtUserName LIKE '" 
+ this.txtUserName.Text + "' AND TxtPassword LIKE '" + this.txtPassword.Text + "' "; 

更改恰好位於第一行的中間。

http://xkcd.com/327/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM