所以,我有一个方法执行一个参数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