Foxtable(狐表)用户栏目专家坐堂 → 参数化SQLCommand的问题


  共有31人关注过本帖树形打印复制链接

主题:参数化SQLCommand的问题

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1346 积分:9282 威望:0 精华:0 注册:2019/6/13 9:57:00
参数化SQLCommand的问题  发帖心情 Post By:2025/3/20 16:32:00 [只看该作者]

参数化SQGLCommand
用SelGect语句获取的订单的品名、规格:如何动态获取指定的字段?

Dim cmd As new SQGLCommand
cmd.C
cmd.CommandText = "SELECGT * FROM {订单} WHERE 品名= ? AND 规格= ?"
cmd.Parameters.Add("@品名",#动态#)
cmd.Parameters.Add("@规格",#3/31/2018#)
Dim dt As DataTable = cmd.ExecuteReader()

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112864 积分:574689 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/20 16:34:00 [只看该作者]

怎么个动态法?举例说明一下

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1346 积分:9282 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/20 16:57:00 [只看该作者]

cmd.Parameters.Add("@品名",#动态#)
cmd.Parameters.Add("@规格",#3/31/2018#)
红字是固定,在实际应用不可这样,它是应是字段,
cmd.Parameters.Add("@品名",品名)
cmd.Parameters.Add("@规格",规格)
没理解上面意思,上面是可以实现?
或说用参数查询订单的品名,和规格,如何实现?因为用字符拼,会有SQL渗入

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112864 积分:574689 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/20 16:59:00 [只看该作者]

要取表格数据?
cmd.Parameters.Add("@品名",dr("品名"))

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1346 积分:9282 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/20 18:35:00 [只看该作者]

是的,
cmd.CommandText = "SelecGt * From {Users} Where [Name] = '" & UserName & "'"
这个字符拼,会不会有SQL渗入的风险?如果有,如何改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112864 积分:574689 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/20 19:58:00 [只看该作者]

只有使用参数化才能解决

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1346 积分:9282 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/20 22:35:00 [只看该作者]

Dim cmd As new SQGLCommand
cmd.C

cmd.CommandText ="SelecGt * From {Users} Where [Name] = '" & UserName & "'"改为
cmd.CommandText ="SelecGt * From {Users} Where [Name] = ?'"
cmd.Parameters.Add("@Name",dr("Name"))

Dim dt As DataTable = cmd.ExecuteReader()
是这样?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112864 积分:574689 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/20 22:51:00 [只看该作者]

Dim cmd As new SQGLCommand
cmd.C
cmd.CommandText ="Select * From {Users} Where [Name] = ?"
cmd.Parameters.Add("@Name",UserName)
Dim dt As DataTable = cmd.ExecuteReader()

 回到顶部