【发布时间】:2020-01-16 08:36:04
【问题描述】:
我正在尝试根据数据库中的equipment 和plant 选择获得顶部3 安全数据行。现在我可以通过设备和植物选择从数据库中获取前 3 位安全值并插入到文本框中。
当我写 "' or Safety '" + textbox.text + 时,它正在获得其他工厂和设备选择
sqlcon1.Open();
SqlDataAdapter Data = new SqlDataAdapter (@"select * from ****** Where "
+ "[Equipment Type]='" + equipmenttype_combobox.Text.Trim()
+ "' and Plant='" + plant_combobox.Text.Trim()
+ "' and Safety= '" + firstsafety_textbox.Text.Trim()
+ "' or Safety='" + secondsafety_textbox.Text.Trim()
+ "' or Safety='" + thirdsafety_textbox.Text.Trim() + "'", sqlcon);
DataTable dt1 = new DataTable();
SqlDataAdapter db1 = new SqlDataAdapter();
Data.Fill(dt1);
datagridview1.DataSource = dt1;
sqlcon1.Close();
【问题讨论】:
-
对字符串变量进行查询,然后对其进行调试并检查要连接的值
-
旁注:您应该始终使用参数化查询来避免 SQL 注入。示例stackoverflow.com/a/40050820/2946329
-
你能提供一些细节吗?我该怎么办?