在执行SQL语句时If语句的问题- c#
本文关键字:语句 问题 执行 SQL If | 更新日期: 2023-09-27 18:03:28
我在c#中做了一个表单来添加数据到我的数据表中,它工作得很好,我想要的只是在插入数据时返回一条消息,我有一个问题,代码如下:
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = ("INSERT INTO datatable (Number_Plate,Registered_Keeper,Make,Model,Year_Of_Make,Colour,Engine_Size,Transmission,Fuel_Type) Values (@Number_Plate,@Registered_Keeper,@Make,@Model,@Year_Of_Make,@Colour,@Engine_Size,@Transmission,@Fuel_Type)");
cmd.Parameters.AddWithValue("@Number_Plate", Plate.Text);
cmd.Parameters.AddWithValue("@Registered_Keeper", Keeper.Text);
cmd.Parameters.AddWithValue("@Make", Make.Text);
cmd.Parameters.AddWithValue("@Model", Model.Text);
cmd.Parameters.AddWithValue("@Year_Of_Make", Year.Text);
cmd.Parameters.AddWithValue("@Colour", Colour.Text);
cmd.Parameters.AddWithValue("@Engine_Size", Engine.Text);
cmd.Parameters.AddWithValue("@Transmission", Transmission.Text);
cmd.Parameters.AddWithValue("@Fuel_Type", Fuel.Text);
SqlDataReader reader = cmd.ExecuteReader();
if (cmd.ExecuteNonQuery()==1)
{
button1.Visible = false;
label10.Visible = true;
}
else
{
button1.Visible = false;
label10.Text = "Data Not Added Please try Again!";
label10.Visible = true;
}
}
当我运行代码时,我得到If语句的问题,错误是:
已经有一个打开的数据读取器与这个命令相关联,必须先关闭它。
感谢您的帮助。
直接删除这一行(你不需要它)
SqlDataReader reader = cmd.ExecuteReader();
没有意义,因为你是在插入一条记录,而不是在数据库上抓取。
片段,
// other codes
cmd.Parameters.AddWithValue("@Engine_Size", Engine.Text);
cmd.Parameters.AddWithValue("@Transmission", Transmission.Text);
cmd.Parameters.AddWithValue("@Fuel_Type", Fuel.Text);
if (cmd.ExecuteNonQuery()==1)
{
button1.Visible = false;
// other codes
您之前已经打开了数据库连接。所以你需要先关闭它来执行。
conn.close()