第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何登錄 C# Windows 窗體(從 MySQL 服務(wù)器/數(shù)據(jù)庫獲取數(shù)據(jù))?

如何登錄 C# Windows 窗體(從 MySQL 服務(wù)器/數(shù)據(jù)庫獲取數(shù)據(jù))?

C#
偶然的你 2021-12-25 16:41:51
我想問一下如何在 Windows 窗體中實現(xiàn)登錄功能,前提是我有兩個字段用戶名和密碼。在數(shù)據(jù)庫中,我有一個表users,其中有 2 個字段 - 用戶名和密碼。我想從數(shù)據(jù)庫中獲取密碼,然后將其與文本框字段中輸入的密碼進行比較,如果密碼相同,我想打開 /show/ 一個新表單。但是,我總是在catch代碼塊中。我想問一下這是為什么?try{    if (i == 2)    {        Application.Exit();    }    conn.Open();    string query = "select password from users where username = @usr and password = @pas";    MySqlCommand cmd = new MySqlCommand(query, conn);    cmd.Parameters.AddWithValue("@usr", username);    cmd.Parameters.AddWithValue("@pas", password);    MySqlDataReader myreader = cmd.ExecuteReader();    string rez = (string)myreader.ToString();    if (rez == password.Text)    {        frmMain mainF = new frmMain();        mainF.Show();    }}catch (Exception ex){    MessageBox.Show("Username or password is incorrect!");    i++;}
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

你這樣做是錯的。你需要從讀者那里閱讀。這是你應(yīng)該做的:


  try

  {

    if (i == 2)

    {

      Application.Exit();

    }


    conn.Open();

  string query = "select password from users where username = @usr and password = @pas";


    MySqlCommand cmd = new MySqlCommand(query, conn);

    cmd.Parameters.AddWithValue("@usr", username);

    cmd.Parameters.AddWithValue("@pas", password);


    MySqlDataReader myreader = cmd.ExecuteReader();


    var password = string.Empty;

    while(myreader.Read())

    {

     password = myreader["password"];

    }



     if (password.Equals(password.Text))

     {

      frmMain mainF = new frmMain();

      mainF.Show();

     }

     else

     {

       MessageBox.Show("Username or password is incorrect!");

       i++;

     }

   }


查看完整回答
反對 回復(fù) 2021-12-25
?
陪伴而非守候

TA貢獻1757條經(jīng)驗 獲得超8個贊

查看代碼,您似乎將文本框作為密碼參數(shù)傳遞:

cmd.Parameters.AddWithValue("@pas", password);

然后你做這個檢查:

if (rez == password.Text)

這表明這password是一個文本框。

所以正確的代碼應(yīng)該是:

cmd.Parameters.AddWithValue("@pas", password.Text);

我還將假設(shè)這username是一個文本框,因此當(dāng)您創(chuàng)建用戶名參數(shù)時,您應(yīng)該使用:

cmd.Parameters.AddWithValue("@usr", username.Text);


查看完整回答
反對 回復(fù) 2021-12-25
?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

如果文本框 id 是“用戶名”和“密碼”,那么您需要傳遞該文本框的值,如下所示:

“用戶名.文本”和“密碼.文本”

然后你就可以登錄了。


查看完整回答
反對 回復(fù) 2021-12-25
  • 3 回答
  • 0 關(guān)注
  • 197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號