2014-02-07 59 views
0

錯誤在我的VB,但在我的SQL查詢正確。有人可以糾正我的VB代碼。在我的VB錯誤,但在我的SQL查詢中正確

這是我的錯誤的代碼在VB

cmd = New Odbc.OdbcCommand("SELECT * FROM tblvendorpartnumber WHERE vendorpnumber ='" & Trim(TextBox11.Text.TrimEnd()) & " OR vendorpnumber ='" & Trim(TextBox2.Text.TrimEnd()) & "'", con) 

這是我在MySQL查詢正確的代碼

SELECT * 
FROM pcba_info.tblvendorpartnumber 
WHERE partnumber = '' or vendorpnumber = ''; 

回答

0

你必須在解決SQL注入的問題

你忘了包括對其他單引號的。

TextBox11.Text.TrimEnd()) & " OR 

Trim(TextBox11.Text.TrimEnd()) & "' OR 

以形成

cmd = New Odbc.OdbcCommand("SELECT * FROM tblvendorpartnumber WHERE vendorpnumber ='" & TextBox11.Text.Trim().Replace("'", "''") & "' OR vendorpnumber ='" & TextBox2.Text.Trim().Replace("'", "''") & "'", con) 
0

你需要避免與SQL的混合VB字符串函數。在引號內寫入整個查詢以確定將在SQL中工作。

0

嘗試這樣

修剪將削減從字符串開頭或結尾空格。所以如果字符串是「Text」,那麼Trim會爲你刪除這些空格,只留下「Text」。

Dim S1,S2 as String 
S1 = TextBox11.Text 
S2 = TextBox12.Text 
cmd = New Odbc.OdbcCommand("SELECT * FROM tblvendorpartnumber WHERE vendorpnumber ='" & S1.Trim & " OR vendorpnumber ='" & S2.Trim & "'", con) 
相關問題