![](/img/trans.png)
[英]DataTimePicker and Checkbox insert to database - Error SQL Syntax
[英]SQL insert syntax, database not updating
編輯
我更改了代碼,所以我使用:[“+ 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());
}
}
@
。 @
。 time
列中。 SqlCommand Command = new SqlCommand("INSERT INTO Slots (Date,RoomID,time) " + "Values (@date,@room,@time)", cn);
Command.Parameters.AddWithValue("@date", date);
Command.Parameters.AddWithValue("@room", rooms_combo.SelectedValue);
Command.Parameters.AddWithValue("@time", Time);
編輯后評論。 嘗試這個:
SqlCommand Command = new SqlCommand("INSERT INTO Slots (Date,RoomID,[" + Time1 + "]) " + "Values (@date,@room,@time)", cn);
Command.Parameters.AddWithValue("@date", date);
Command.Parameters.AddWithValue("@room", rooms_combo.SelectedValue);
Command.Parameters.AddWithValue("@time", true);
您不能在列列表中包含變量,我假設您希望@Time在值列表中關於true的位置。
編輯:要將時間作為列名注入,請執行一些C#字符串操作:
SqlCommand Command = new SqlCommand("INSERT INTO Slots (Date, RoomID, [" + time + "]) Values (@date, @room, 1)", cn);
再次編輯:true不是T-SQL關鍵字,T-SQL位列的值為1或0
現在,您不希望將時間添加為查詢的參數。
您將變量列為列名(@time)
編輯
就在這兒:
INSERT INTO Slots (Date, RoomID,
--- >>> @time <<< ---危險將ROBINSON,危險
要修復它,您需要將其更改為表中的列名,否則將其刪除。
所以這樣的事情,例如:
INSERT INTO Slots (Date, RoomID, time)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.