2017-03-01 41 views
0

好吧我搜索無處不在,我發現的所有東西都不完全是我要找的,或者我想要累累看見。 我正在嘗試在EMAIL上進行搜索以查看客戶是否在我的數據庫中。如果客戶在我的數據庫中,我想填充所有文本框,以便他們不必重新輸入信息。對應於您的mariadb服務器版本的正確語法使用附近'@ gmail.com'

MySQL,C#,Visual Studio 2017社區,Windows FORM程序。

這裏是我的代碼,不斷給我這個錯誤: 對應於你的MariaDB的服務器版本使用附近的「@ gmail.com」

感謝您從高級用戶任意輸入正確的語法。

   if (r) 
      { 

       dbconn(); 
       string SelectQuery = "SELECT * FROM integercorp_TechIT.users WHERE Email="+ tb_Email.Text; 
       Command = new MySqlCommand(SelectQuery, connect); 
       MDR = Command.ExecuteReader(); 
       if (MDR.Read()) 
       { 
        tb_LastName.Text = MDR.GetString("Last"); 
        tb_FirstName.Text = MDR.GetString("First"); 
        tb_Address1.Text = MDR.GetString("Address1"); 
        tb_Address2.Text = MDR.GetString("Address2"); 
        tb_PhoneNo.Text = MDR.GetString("Phone"); 
        tb_CellNo.Text = MDR.GetString("Cell"); 
        tb_City.Text = MDR.GetString("City"); 
        tb_County.Text = MDR.GetString("County"); 
        tb_Email2.Text = MDR.GetString("Email"); 
        tb_State.Text = MDR.GetString("State"); 
        tb_ZipCode.Text = MDR.GetString("ZipCode"); 
        btn_NextCustInfo.Focus(); 
       } 

      } 
      else 
      { 
       MessageBox.Show("Welcome new Customer!!!!"); 

      } 

回答

0

問題在於您的級聯查詢,列Email將接受字符串值。這意味着在串聯查詢的情況下,值應該在單引號內。但是,這不是一個更好的解決方案,你必須去參數化。在這種情況下,你可以構建以下查詢:

string SelectQuery = "SELECT * FROM integercorp_TechIT.users WHERE [email protected]"; 
Command = new MySqlCommand(SelectQuery, connect); 
Command.Parameters.Add("@mail", SqlDbType.Varchar).Value = tb_Email.Text; 
// Proceed with your codes 
+0

由於某種原因,在非常疲憊的時刻,我的理解超出了實際情況。謝謝 !!!!!!!! –

+0

@RickCrowell:如果我的建議真的能幫助你解決問題,你可以將其標記爲已接受 –

+0

我建議的代碼中唯一改變的地方是SqlDbType到MySqlDbType。 –

1

試試這個:

"SELECT * FROM integercorp_TechIT.users WHERE Email='"+ tb_Email.Text+"'"; 

對於文本的電子郵件值作爲字符串把它放在單引號得到認可。

+0

聖洛倫茲時刻蝙蝠俠。 DOUGHT !!!!非常感謝你的修復。我想我現在要回家睡覺了。 hahahahha。 –

0
string SelectQuery = "SELECT * FROM integercorp_TechIT.users WHERE Email='"+ tb_Email.Text+"'"; 

只在電子郵件ID之前和之後放單引號。因爲電子郵件接受字符串值

+0

希望您瞭解SQLInjection,那麼爲什麼要通過這個連接查詢爲黑客打開一扇大門? –

+0

@不幸我只糾正他在代碼中遇到的錯誤。我沒有給他任何建議。 –

相關問題