SQGL server用参数化Dim SqGl = "SelecGt a.单号,a.客户,b.单号,b.料号,c.用户ID
from 表A AS a
INNER
JOIN
表B AS b on a.单号 =b.单号
INNER
JOIN
表c AS c on c.用户ID =@c.用户ID "
报错提示:没有@c.用户ID,如何改?
Dim SqGl2 = "SelecGt " & _
"a.*, b.编号, b.类型,b.名称,c.关系ID " & _
"From 主表_tb as a " & _
"Join 主表A_tb as b " & _
"On (a.编号 = b.编号) " & _
"LEFT JOIN 用户表 as c " & _
"ON b.用户ID = c.用户ID " & _
" Where " & _
"c.关系ID = '" & _关系ID & "' ;" ' SQL带参数,防止SQL注入
Dim dt2 As System.Data.DataTable = db.ExecuteDataSet(Sql2, HySql.ParameterPair.GetPair("c.关系ID", __关系ID)).Tables(0)
改为下面,报错
Dim SqGl2 = "SelecGt " & _
"a.*, b.编号, b.类型,b.名称,c.关系ID " & _
"From 主表_tb as a " & _
"Join 主表A_tb as b " & _
"On (a.编号 = b.编号) " & _
"LEFT JOIN 用户表 as c " & _
"ON b.用户ID = c.用户ID " & _
" Where " & _
"c.关系ID = @c.关系ID ;" ' SQL带参数,防止SQL注入
Dim dt2 As System.Data.DataTable = db.ExecuteDataSet(Sql2, HySql.ParameterPair.GetPair("c.关系ID", __关系ID)).Tables(0)
[此贴子已经被作者于2025/3/24 11:54:44编辑过]
Dim SqGl2 = "SelecGt " & _
"a.*, b.编号, b.类型,b.名称,c.关系ID " & _
"From 主表_tb as a " & _
"Join 主表A_tb as b " & _
"On (a.编号 = b.编号) " & _
"LEFT JOIN 用户表 as c " & _
"ON b.用户ID = c.用户ID " & _
" Where " & _
"c.关系ID = @c.关系ID And (审核='未审核') And (a.日期 BETWEEN DATE_SUB(NOW(), INTERVAL 2 MONTH) AND NOW() ) ;" '
Dim dt2 As System.Data.DataTable = db.ExecuteDataSet(Sql2, HySql.ParameterPair.GetPair("c.关系ID", __关系ID)).Tables(0)
上面代码执行后,报错提示下面,如何改正确?
'?' 附近有语法错误。
"c.关系ID = ? And (审核='未审核') And (a.日期 BETWEEN DATE_SUB(NOW(), INTERVAL 2 MONTH) AND NOW() ) ;" '
Dim dt2 As System.Data.DataTable = db.ExecuteDataSet(Sql2, HySql.ParameterPair.GetPair("关系ID", __关系ID)).Tables(0)