所以,我有一個方法執行一個參數LIKE查詢。該方法接受搜索參數/值,然後將其添加到準備好查詢的命令中。參數化查詢在執行LIKE條件時會中斷。爲什麼?
它不工作。它應該工作,當我編碼值直接搜索到SQL字符串,無參數化,它確實工作!當我有它作爲參數是不!有任何想法嗎。
這裏有一些(假的,我改了名字)示例代碼。
myDataReader = SQLExecute("SELECT * FROM TableOfAwesomeness WHERE BestTVShow LIKE 'Arrested Development%'")
會工作。但是
Function MethodOfReturningHorror(ByVal TVShow as String) as SqlDataReader
{
dim command as new SQLCommand
command.connection = sqlconnection
command.CommandText = "SELECT * FROM TableOfAwesomeness WHERE BestTVShow LIKE '@tvShow%'"
command.Parameters.Add("tvShow",TVShow)
return command.ExecuteReader()
}
爲了懶惰/簡潔,我錯過了與問題無關的代碼。因此,忽略返回位和內容,重要的是數據讀取器不包含任何內容,而在第一個示例中則是如此。我相信這是關於LIKE子句的參數化。
謝謝!
乾杯!我會嘗試 – Damien 2009-01-13 22:07:16