0

我在 Visual Studio 中有一个使用 C# 的 WinForms 应用程序。当我运行以下代码时,它不会给出错误,但没有数据插入到数据库表中。

代码:

string dbfile = Properties.Settings.Default.CTMSConnectionString1;

SqlConnection con = new SqlConnection(dbfile);
con.Open();

SqlCommand insert = new SqlCommand("Insert into Temptranstion (CustomerID, ProductName,Quantity,Price,DateTime ) Values (@CustomerID,@ProductName,@Quantity,@Price,@DateTime)", con);
insert.Parameters.AddWithValue ("@CustomerID ",comboBox1.SelectedValue);
insert.Parameters.AddWithValue ("@ProductName",textBox6.Text);
insert.Parameters.AddWithValue ("@Quantity",textBox7.Text);
insert.Parameters.AddWithValue ("@Price",textBox8.Text);
insert.Parameters.AddWithValue ("@DateTime",DateTime.Now);
insert.ExecuteNonQuery();

问题可能是什么?

4

1 回答 1

0

创建和使用 ADO.NET SQL 连接和命令的最新模式是在嵌套的 using 语句中,如下所示:

using (var connection = new SqlConnection(dbfile))
using(var command = connection.CreateCommand())
{
    connection.Open();

    command.CommandText = "Insert into Temptranstion (CustomerID, ProductName,Quantity,Price,DateTime ) Values (@CustomerID,@ProductName,@Quantity,@Price,@DateTime)";
    command.Parameters.AddWithValue ("@CustomerID ",comboBox1.SelectedValue);
    command.Parameters.AddWithValue ("@ProductName",textBox6.Text);
    command.Parameters.AddWithValue ("@Quantity",textBox7.Text);
    command.Parameters.AddWithValue ("@Price",textBox8.Text);
    command.Parameters.AddWithValue ("@DateTime",DateTime.Now);
    command.ExecuteNonQuery();
}

请注意,我没有运行这段代码,我只是重构了你的代码,无论发生什么,连接和命令总是关闭和处理。

如果您仍然无法在数据库中看到新记录,则可能是不同的故障点:

1)你的连接字符串是什么样的?

2)您是在检查正确的目标数据库还是在每次执行时重新部署数据库?

3)您的输入参数中的值是什么?

祝你好运,

戴维德。

于 2013-03-28T12:40:38.823 回答