接続は正常に機能します。この部分の問題に直面しています。次のようにRECORDテーブルの私の設計図である:私はレコードテーブルに挿入しようとしています"INSERT INTO文の構文エラー"を解決する方法
protected void btnSave_Click(object sender, EventArgs e)
{
DateTime a = new DateTime(cldStart.SelectedDate.Year,cldStart.SelectedDate.Month,cldStart.SelectedDate.Day,Convert.ToInt32(ddlStartHour.SelectedValue),Convert.ToInt32(ddlStartMinute.SelectedValue),00);
DateTime b = new DateTime(cldEnd.SelectedDate.Year, cldEnd.SelectedDate.Month, cldEnd.SelectedDate.Day, Convert.ToInt32(ddlEndHour.SelectedValue), Convert.ToInt32(ddlEndMinute.SelectedValue), 00);
TimeSpan c = b-a;
//insert into record table
using (OleDbConnection con = new OleDbConnection(conString))
{
try
{
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO RECORD (BatchID,ProcessID,EmployeeID,Start,End,Status,Hour) VALUES (@batchid,@processid,@employeeid,@start,@end,@status,@hours)";
cmd.Parameters.AddWithValue("@batchid", Convert.ToInt32(ddlBatchNo.SelectedValue));
cmd.Parameters.AddWithValue("@processid", Convert.ToInt32(ddlSubCategory.SelectedValue));
cmd.Parameters.AddWithValue("@employeeid", Convert.ToInt32(ddlEmployeeId.SelectedValue));
cmd.Parameters.AddWithValue("@start",a.ToString());
cmd.Parameters.AddWithValue("@end", b.ToString());
cmd.Parameters.AddWithValue("@hours", c.ToString());
cmd.Parameters.AddWithValue("@status",chboxStatus.Checked);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
txtRemark.Text = "wrong";
}
}
}
それは私
を示しています名データ型サイズここ
RecordID Long Integer 4
BatchID Long Integer 4
ProcessID Long Integer 4
EmployeeID Long Integer 4
Start Date With Time 8
End Date With Time 8
Status Yes/No 1
Hour Long Integer
は私のコードです
"InSERT intoコマンドの構文エラー"。
何が間違っているかわかりません。
ありがとうございました!私はキーワードとしてカラム名を使用するというばかげたミスを犯しました!!今は完全に正常です – user3431431