【发布时间】:2021-12-10 07:14:35
【问题描述】:
您好,我有一个名为 Card_tbl 的表,其中包含一个单元 CardID。问题是当我只插入像 12345 这样的数字时,它们会上传到数据库中,但是当我使用像 Q1234R 这样的混合字母时,它会说 INVALID COLUMN NAME Q1234R 我尝试了很多东西修复它但没有成功。
单元格在 VARCHAR(50) 上这是我的代码
Con.Open();
SqlCommand cmd = new SqlCommand("insert into Card_tbl values(" +txtCardNumber.Text+")", Con);
cmd.ExecuteNonQuery();
MessageBox.Show("Admin Successfully Added!");
Con.Close();
populate();
//updateroomstate();
Clean();
此处显示错误cmd.ExecuteNonQuery();
提前谢谢你。
【问题讨论】:
-
使用sql参数传递值。这可以防止很多问题,例如您拥有的问题和 sql 注入
-
无论如何,我建议查看“准备好的语句”,也就是“参数化查询”,因为这应该 1) 解决您的问题并 2) 保护您免受 SQL 注入攻击。
-
@Llama 事情是相同的查询适用于我声明 varchar(50) 并且字符和数字都插入数据库中的其他表没有问题。
-
您还应该在
Con和cmd上有using块,并且不要在连接打开时用MessageBox阻塞线程