2012-11-27 36 views
-3
Dim strText As String = tbRefine.Text 
    Dim sql As String = "SELECT user_name,forename,surname,game_cash,reg_group FROM tblGame WHERE user_name LIKE '" + strSearchText + "' & '*'" 
    Dim dsRefine As New DataSet 
    GetDataset(sql, "tblGame", dsRefine) 

    MsgBox(dsRefine.Tables("tblGame").Rows(0).Item(2).ToString) 

這不起作用,它崩潰並且說數據集中沒有任何內容。 我知道數據集函數的工作原理是以前成功的。 當我打印出sql語句到微軟訪問它工作正常。我在做什麼錯SQL Like語句在Visual Basic中不起作用

+0

你將LIKE「%somepattern%」值文本? – Oybek

+0

我們需要知道tbRefine.Text的內容(希望不是SQL注入攻擊)。還有GetDataSet方法中的代碼。 – RoadWarrior

回答

5

嘗試

"SELECT user_name,forename,surname,game_cash,reg_group 
FROM tblGame 
WHERE user_name LIKE '%" + strSearchText + "%'" 
+0

是的,謝謝你,我會在8分鐘內接受答案。 – JH95

0

有關領導或您喜歡尾隨%的符號是什麼?

在你最終會與當下where子句,如:

LIKE 'searchtext''*' 

這看起來有點奇怪(我假設SQL服務器?)。

0

由於您的方法對SQL注入開放,因此使用SQL參數更爲明智。下面的鏈接將幫助您如何格式化SQL語句。我也建議通過存儲過程做,但帽子可選...

http://forums.asp.net/t/1256985.aspx