-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ステートメントをMicrosoft Accessに出力すると、正常に動作します。私は何を間違っていますか

4

5 に答える 5

8

これを試して:

"SELECT user_name,forename,surname,game_cash,reg_group
 FROM tblGame
 WHERE user_name LIKE '%" + strSearchText + "%'"
于 2012-11-27T11:29:53.423 に答える
0

メソッドは SQL インジェクションに対してオープンであるため、SQL パラメーターを使用する方が賢明です。以下のリンクは、SQL ステートメントをフォーマットする方法に役立ちます。ストアプロシージャを介して行うこともお勧めしますが、帽子はオプションです...

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

于 2012-11-27T11:34:41.530 に答える
0

あなたのような先頭または末尾の % 記号はどうですか?

現時点では、次のような where 句になります。

LIKE 'searchtext''*'

これは少し奇妙に見えます (SQL サーバーだと思いますか?)。

于 2012-11-27T11:30:46.300 に答える