我在使用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();
但是那个也会返回错误:(