如何在组合框中保存所选项目,并在sql语句中保存文本框中的长数字

本文关键字:保存 语句 sql 文本 数字 并在 选项 组合 项目 | 更新日期: 2023-09-27 17:58:56

我不知道如何保存组合框中的选定项目和文本框中的长数字。这是我的代码:

string num = txtNum.Text;
string q = "insert into new (name, group, phoneNum) values('" + name + "', '" + comboBox1.SelectedItem.ToString() + "', "+ num +")";

bombobox1包含以下项目:

"group A"
"group B"
"group C"

当我选择其中一个项目时,它必须保存在数据库中(MS Access),txtNum.text必须有11个数字,如09999999999,并将其保存到MS Access。当我单击按钮时,必须保存组合框和文本框的值。(SQL语句和字符串格式可能有错误)。

如何在组合框中保存所选项目,并在sql语句中保存文本框中的长数字

GROUP是MS Access中的一个保留关键字,在sql查询中使用时需要将其封装在方括号中

string q = "insert into new (name, [group], phoneNum) values(.......

也就是说,更改sql命令字符串和以下数据库代码以使用参数化查询是很重要的。最重要的是避免字符串、数字和日期的解析问题,同时避免Sql注入漏洞问题。

string q = "insert into new (name, [group], phoneNum) values(?,?,?)";
OleDbCommand cmd = new OleDbCommand(q, connection);
cmd.Parameters.Add("@p1", name);
cmd.Parameters.Add("@p2", comboBox1.SelectedItem.ToString());
cmd.Parameters.Add("@p3", Convert.ToInt64(num));
cmd.ExecuteNonQuery();

如果字段PhoneNum是一个简单的char字段类型,那么您可以在不转换的情况下传递第三个参数

cmd.Parameters.Add("@p3", num);