我在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();
问题可能是什么?
答案 0 :(得分: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)输入参数中的值是什么?
祝你好运,的Davide。