解决  SQL查询中TextBox的值

Tdignan87.

众所周知的成员
加入
2019年7月8日
消息
95
编程经验
Beginner
嗨,大家好,
希望有人可以帮助我这里。

我在这里有此查询,如果我将数字从文本框中的值困扰到查询,则可以正常工作,否则我会收到此错误?这是代码。有任何想法吗?

这是完美的
C#:
  String delete_jobs = db.Query<String>("UPDATE CONFIGD SET CONFIGD.KEYVALUE = " + valueTxtBox.Text + " WHERE CONFIGD.KEYNAME = 'DisplayMixSize' and CONFIGD.SECTIONNAME = 'ProcessOptions' ").FirstOrDefault();

如果我删除'displaymixsize',因为文本框中应该是值的代码中断,

这休息了
C#:
String delete_jobs = db.Query<String>("UPDATE CONFIGD SET CONFIGD.KEYVALUE = " + valueTxtBox.Text + " WHERE CONFIGD.KEYNAME = " + keyNameTxtBox.Text + " and CONFIGD.SECTIONNAME = 'ProcessOptions' ").FirstOrDefault();

1595332386488.png.


添加了一个断点,值在txtbox中

1595332485904.png.
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,856
地点
切萨皮克,va.
编程经验
10+
Notice that you dropped the single quotes around the text box value. Your first code would have the single quotes around 'DisplayMixSize', while your second code does not.

如果您实际上使用参数化查询,则可以避免许多问题。它将照顾需要在需要的地方。随着您目前连接字符串来构建查询,特别是如果您没有从文本框中消毒输入,则您可以将自己打开到SQL注入攻击。请参阅: 查询数据库的正确方法:参数化SQL查询。 - C#教程|梦..in.Code.

我将留下强制性的SQL注入攻击卡通,以帮助打印使用参数化查询的想法:
exploits_of_a_mom.png.
 

sh

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
错误似乎抱怨一列未知的列。仔细检查您的表字段的拼写,您真的不应该绑定到您的陈述中,因为它使您对SQL注入攻击敞开了。

看起来像跳伞运动员打败了我的要点。
 
最佳 底部