これはsforループであり、時間に移動し、時間列をtrueとして配置します。これは初めて機能しますが、時間が0.5増加すると、falseのままになります。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());
}
}
データベースは次のようになります。最初のtrueフィールドは機能しますが、別の時間にループするとfalseのままになります。これは、その日付の既存の行がある場合(日付が主キー)が原因である可能性があります。 )、その行を更新できないため、行が存在する場合は更新する必要がある場合があります。そうでない場合は、新しい行を作成します。