以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- SQL server用参数化报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=196025) |
|
-- 作者:lin98 -- 发布时间:2025/3/24 9:03:00 -- SQL server用参数化报错 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,如何改?
|
|
-- 作者:有点蓝 -- 发布时间:2025/3/24 9:07:00 -- 这个不合理。表C和其它表是通过什么列关联的? |
|
-- 作者:lin98 -- 发布时间:2025/3/24 9:34:00 -- 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 9:38:00 -- "c.关系ID = @关系ID ;" \' SQL带参数,防止SQL注入 |
|
-- 作者:lin98 -- 发布时间:2025/3/24 10:09:00 -- 改为执行报错 \'.\' 附近有语法错误。 必须声明标量变量 "@关系ID"。
|
|
-- 作者:有点蓝 -- 发布时间:2025/3/24 10:17:00 -- [此贴子已经被作者于2025/3/24 11:54:44编辑过]
|
|
-- 作者:lin98 -- 发布时间:2025/3/24 11:08:00 -- 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) 上面代码执行后,报错提示下面,如何改正确? \'?\' 附近有语法错误。
|
|
-- 作者:有点蓝 -- 发布时间:2025/3/24 11:11:00 -- "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)
|
|
-- 作者:lin98 -- 发布时间:2025/3/24 11:43:00 -- 报错 \'?\' 附近有语法错误。
|
|
-- 作者:有点蓝 -- 发布时间:2025/3/24 11:55:00 --
|