繁体   English   中英

C#中的insert into语句中的语法错误链接到ADO.NET的MS Access

[英]Syntax error in insert into statement in C# links to MS Access By ADO.NET

我写的每一个代码都会向Microsoft Access数据库插入一些数据,但是我有一个错误“ insert into statement中的语法错误”,我不知道为什么! 有人帮我吗? 提前致谢 ; 码:

 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());
    }
}

在此处输入图片说明

当您的一个或多个字段使用保留关键字时,您需要始终将该字段括在方括号中。 (一个非常烦人的问题)。 在查询中,您使用两个保留的关键字:DATE和NAME

cmd.CommandText = "INSERT INTO Libarary ( ISBN, [Name], Gategory, Author, Cost, [Date]) " + 
                  "VALUES ( @ISBN, @Name, @Gategory, @Author, @Cost, @Date) ";

如果还不算太晚,建议您重命名这些字段,以免将来出现此类问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM