SqlParameter 附近的语法不正确
Incorrect syntax near SqlParameter
我有这个代码
Dim q = New SqlCommand("SELECT * FROM [ddddd] WHERE ([Day] >= %XX ) AND ([Day] <= %YY )")
q.Parameters.Add(New SqlParameter("XX", rangeFrom.Value))
q.Parameters.Add(New SqlParameter("YY", rangeTo.Value))
q.Connection = dbc
Dim rd = q.ExecuteReader()
' ...
它在
上抛出一个 SqlException
Dim rd = q.ExecuteReader()
包含消息的行
Incorrect syntax near 'XX'
为什么?
SQL 服务器参数需要以 @
为前缀(不是您使用的 %
):
SELECT *
FROM [ddddd]
WHERE [Day] >= @XX AND [Day] <= @YY
然后在声明参数时也使用前导@
:
q.Parameters.Add(New SqlParameter("@XX", rangeFrom.Value))
q.Parameters.Add(New SqlParameter("@YY", rangeTo.Value))
我有这个代码
Dim q = New SqlCommand("SELECT * FROM [ddddd] WHERE ([Day] >= %XX ) AND ([Day] <= %YY )")
q.Parameters.Add(New SqlParameter("XX", rangeFrom.Value))
q.Parameters.Add(New SqlParameter("YY", rangeTo.Value))
q.Connection = dbc
Dim rd = q.ExecuteReader()
' ...
它在
上抛出一个SqlException
Dim rd = q.ExecuteReader()
包含消息的行
Incorrect syntax near 'XX'
为什么?
SQL 服务器参数需要以 @
为前缀(不是您使用的 %
):
SELECT *
FROM [ddddd]
WHERE [Day] >= @XX AND [Day] <= @YY
然后在声明参数时也使用前导@
:
q.Parameters.Add(New SqlParameter("@XX", rangeFrom.Value))
q.Parameters.Add(New SqlParameter("@YY", rangeTo.Value))