這是一個簡單的搜索頁面(search.aspx?title = Hello),我想查詢數據庫以查找類似的匹配。根據微軟文檔(http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbparameter.aspx請參閱:備註),這是正確的方法,但參數(?)永遠不會設置爲查詢字符串的值。 OleDbCommand中的參數沒有變化
string sqlcmd = "SELECT * FROM TableName WHERE Title LIKE ?";
OleDbCommand command = new OleDbCommand(sqlcmd, sqlcon);
OleDbParameter p1 = new OleDbParameter("@p1", OleDbType.WChar);
p1.Value = Request.QueryString["title"];
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.SelectCommand.Parameters.Add(p1);
DataTable dt = new DataTable();
da.Fill(dt);
參數永遠不會改變的查詢字符串是什麼,它只是執行查詢
但查詢是否有效? – Steve
它按原樣執行,SELECT * FROM表WHERE標題LIKE? – user2892146
使用SELECT * FROM表WHERE標題LIKE'_'並查看它是否適用於單個字符 – Shriroop