语法错误插入语句中的C#链接到MS Access通过ADO.NET
问题描述:
每一个 我编写的代码插入一些数据到Microsoft Access数据库,但我有一个错误“插入到语句中的语法错误”我不知道为什么 !!! 任何人都可以帮我吗? 提前致谢; 代码:语法错误插入语句中的C#链接到MS Access通过ADO.NET
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());
}
}
答
当一个或多个您的域使用保留关键字,你需要时刻用方括号括该领域。 (一个非常烦人的问题)。在您的查询,您可以使用两个保留关键字:日期,收款人名称
cmd.CommandText = "INSERT INTO Libarary (ISBN, [Name], Gategory, Author, Cost, [Date]) " +
"VALUES (@ISBN, @Name, @Gategory, @Author, @Cost, @Date) ";
如果不是太晚了,我建议你重新命名这些领域,以避免这类问题在未来。
非常感谢你的配合,它现在的作品:) –
@MohamedSafwat把括号使它的工作? – Ehsan
是的,Ehsan Ullah,它的工作:) –