Asp.net 参数化SQL查询错误
我有一个构建动态参数化SQL查询的应用程序。下面的查询返回一个内部异常“syntax error at or near”= 我认为这是我将参数分配给列名的方式,但我不确定Asp.net 参数化SQL查询错误,asp.net,sql,parameterized,Asp.net,Sql,Parameterized,我有一个构建动态参数化SQL查询的应用程序。下面的查询返回一个内部异常“syntax error at or near”= 我认为这是我将参数分配给列名的方式,但我不确定 SELECT TOP 50 77 AS Repository, DocID, LastFileDate, ImageCount, LockedUserID, DocClass, Offline, FileType, OrigFileName, C_CredCardSSN, C_CredCardName,C_CredCar
SELECT TOP 50 77 AS Repository, DocID, LastFileDate, ImageCount,
LockedUserID, DocClass, Offline, FileType, OrigFileName, C_CredCardSSN, C_CredCardName,C_CredCardDocType, C_CredCardDocDate, C_CredCardStatus
FROM D77
WHERE C_CredCardSSN
LIKE C_CredCardSSN = @sp1%
ORDER BY C_CredCardSSN,C_CredCardName
编辑:谢谢大家。所有这些答案都很有帮助。=)试试看
WHERE C_CredCardSSN LIKE @sp1
或
这取决于你为什么在那里有一个“%”(感谢Joel Coehoorn的评论指出了我错过的“%”)
或者(回应您的评论)可能:
试试看
WHERE C_CredCardSSN LIKE @sp1
或
这取决于你为什么在那里有一个“%”(感谢Joel Coehoorn的评论指出了我错过的“%”)
或者(回应您的评论)可能:
LIKE语句应如下所示:
WHERE C_CredCardSSN LIKE @sp1 + '%'
LIKE语句应如下所示:
WHERE C_CredCardSSN LIKE @sp1 + '%'
试试这个:
WHERE C_CredCardSSN like @sp1 + '%'
只有在前几个字符正确的情况下,才会找到您的C_CredCardsn。要查找该值内的任何内容,请尝试如下操作
WHERE C_CredCardSSN like '%' + @sp1 + '%'
试试这个:
WHERE C_CredCardSSN like @sp1 + '%'
只有在前几个字符正确的情况下,才会找到您的C_CredCardsn。要查找该值内的任何内容,请尝试如下操作
WHERE C_CredCardSSN like '%' + @sp1 + '%'
在将“%”作为参数添加到查询之前,请尝试将其添加到文本中:
SqlParameter p = new SqlParameter("@sp1");
p.value = C_CredCardSSNText + "%";
在将“%”作为参数添加到查询之前,请尝试将其添加到文本中:
SqlParameter p = new SqlParameter("@sp1");
p.value = C_CredCardSSNText + "%";
这里只修复了2个问题中的1个我在这里遇到的问题是,它现在将返回一个错误,该错误表示我必须声明一个标量变量\“@sp1”\。这就是我开始的地方,并添加了“C_CredCardSSN=@sp1”“修理。如果有帮助的话,这一切都是在字符串生成器中构造的,然后将命令文本传递给SqlCommand objectonly这里修复了2个问题中的1个问题我在这里遇到的问题是,它现在将返回一个错误,说我必须声明一个标量变量\“@sp1”\。这就是我开始的地方,我添加了“C_CredCardSSN=@sp1”来修复。如果有帮助的话,这些都是在字符串生成器中构造的,然后将命令文本传递给SqlCommand对象