C#与访问数据库(OleDb)的工作不一致

时间:2016-02-06 22:11:29

标签: database ms-access

我在使用C#访问数据库时发现了一个非常恼人的不一致。

我使用此代码将电影信息添加到我的数据库,它可以工作:

rawtypes

但是,当我尝试使用相同的语法来编写有关用户的信息时,它不起作用(INSERT INTO语句中的语法错误。):

            var startupPath = System.IO.Path.GetDirectoryName(
        System.Reflection.Assembly.GetEntryAssembly().Location);
        OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + startupPath + "\\baza.accdb");
        con.Open();
        OleDbCommand comm = con.CreateCommand();
        comm.CommandText = "INSERT INTO Film (Naziv, Autor, Slika, Adresa, Godina) VALUES('"+textBox1.Text+ "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "'); ";
        comm.ExecuteNonQuery();
        con.Close();
        this.Close();

两个都是按下按钮运行,第二个在我通过Microsoft Access 2016运行时运行,但在通过我的应用程序运行时返回错误。语法是一样的,所以我真的不知道为什么它不起作用...感谢任何帮助。

PS:我还有一个更改管理员密码的按钮:

            var startupPath = System.IO.Path.GetDirectoryName(
        System.Reflection.Assembly.GetEntryAssembly().Location);
        OleDbConnection con1 = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + startupPath + "\\baza.accdb");
        con1.Open();
        OleDbCommand comm1 = con1.CreateCommand();
        comm1.CommandText = "INSERT INTO Korisnik (Username, Password, Tip) VALUES('" + textBox1.Text + "', '" + textBox2.Text + "', 'Korisnik');";
        comm1.ExecuteNonQuery();
        con1.Close();
        this.Close();

但是那个也会返回错误:(

0 个答案:

没有答案