【发布时间】:2015-07-19 13:44:59
【问题描述】:
我正在使用 C# OleDb 创建一个订单表单,但在尝试将订单表单中组合框中的尺寸值放入数据库时遇到问题。 导致问题的代码如下。
private void btn_Save_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "insert into OrderForm(Size) values ('" + sizeBox.Text + "')";
command.ExecuteNonQuery();
MessageBox.Show("Order Inserted into Database");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex);
}
}
这是导致我出现问题的唯一一段代码,我已将其与我已注释掉的其他 commandText 代码行进行了比较,以确保语法正确且对我来说看起来没问题。我还检查了以确保 commandText 代码中列出的字段名称和实际数据库中的字段正确无误。对此问题的任何帮助将不胜感激。干杯
编辑:代码给我的语法错误
【问题讨论】:
-
会不会是 Size 是数字类型(例如整数)?如果是这样 - 您的查询中不需要单引号
-
Size的数据类型是什么,sizeBox.Text的值是什么? -
也永远不要像你刚才那样连接查询,因为你很容易受到SQL injection attack
-
异常信息是什么?
command.CommandText是什么? -
另外,请理解如果您的
ExecuteNonQuery抛出异常,您的连接将保持打开状态。考虑将其移至finally块或使用using语句