我改变了代码,所以我使用:[“+ Time1 +”]而不是参数。这是第一次,但是当时间增加0.5时,它仍然是错误的。 for循环正在工作,因为我试过一个MessageBox.Show(“”+ Time1 +“”);在for循环中。
for (double Time = time_began_5; Time < time_finished_5; Time = Time + 0.5)
{
string Time1 = Time.ToString("0.00");
try
{
SqlConnection cn = new SqlConnection("Data Source=.\\SqlExpress;Initial Catalog=AllensCroft;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework;");
cn.Open();
SqlCommand Command = new SqlCommand("INSERT INTO Slots ([Date],[RoomID],[" + Time1 + "]) Values (@date,@room,1)", cn);
Command.Parameters.AddWithValue("date", date);
Command.Parameters.AddWithValue("room", rooms_combo.SelectedValue);
Command.ExecuteNonQuery();
try
{
cn.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
什么是SQL错误? – 2013-03-13 19:37:25
首先,循环是否执行?附:在for循环中使用Double作为索引变量通常被认为是不好的做法! – 2013-03-13 19:38:51
是@time你的专栏名称,如果不是那么你为什么在那里使用? – Sachin 2013-03-13 19:39:22