这是 s for 循环,它将转到时间并将时间列设置为 true。这是第一次工作,但是当时间增加 0.5 时,它仍然是错误的。当我尝试 MessageBox.Show("" + Time1 + ""); 时,for 循环正在工作 在 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());
}
}
这是数据库的样子,第一个真正的字段有效,但是当它循环到另一个时间时,它仍然是错误的,我认为这可能是因为如果我有一个具有该日期的现有行(日期是主键),我无法更新该行,所以我可能需要一个如果该行存在,更新,否则创建一个新行。