Moh*_*wat 0 c# database sql-server ado.net ms-access
每个人我写代码将一些数据插入Microsoft Access数据库,但我有一个错误"插入语句中的语法错误"我不知道为什么!有人帮帮我吗?提前致谢 ; 码:
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\me\Library Store\Library Store\Store.accdb");
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO Libarary ( ISBN, Name, Gategory, Author, Cost, Date) VALUES ( @ISBN, @Name, @Gategory, @Author, @Cost, @Date) ";
cmd.Parameters.AddWithValue("@ISBN", ISBNTB.Text);
cmd.Parameters.AddWithValue("@Name", NameTB.Text);
cmd.Parameters.AddWithValue("@Gategory", GategoryTB.Text);
cmd.Parameters.AddWithValue("@Author", AuthorTB.Text);
cmd.Parameters.AddWithValue("@Cost", int.Parse(CostTB.Text));
cmd.Parameters.AddWithValue("@Date", dateTimePicker1.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Data Added!");
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)

当您的一个或多个字段使用保留关键字时,您需要将该字段包含在方括号中.(一个非常讨厌的问题).在您的查询中,您使用两个保留关键字:DATE和NAME
cmd.CommandText = "INSERT INTO Libarary ( ISBN, [Name], Gategory, Author, Cost, [Date]) " +
"VALUES ( @ISBN, @Name, @Gategory, @Author, @Cost, @Date) ";
Run Code Online (Sandbox Code Playgroud)
如果还不晚,我建议你重命名这些字段以避免将来出现这种问题.
| 归档时间: |
|
| 查看次数: |
3453 次 |
| 最近记录: |