将变量插入数据库时遇到问题。
以下是代码中的示例:
int rezultat = 0;
这是form1
。
然后在第二种形式中我有:
public Form2()
{
InitializeComponent();
}
OleDbConnection connect = new OleDbConnection();
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
connect.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\tom\Desktop\snake2\snake\snake\Database1.mdb";
string ime = textBox1.Text;
string scoore = rezultat;
connect.Open();
// MessageBox.Show("dela");
OleDbCommand cmd = new OleDbCommand("INSERT into rezultati( ime, rezultat" + "values (@ime, @scoore )", connect);
}
数据库已正确连接,但如果单击该按钮则会出现错误。
答案 0 :(得分:0)
您需要添加parameters,以便将它们从您的程序移至查询。
OleDbCommand cmd = new OleDbCommand("INSERT into rezultati(ime, rezultat) " + " values (@ime, @scoore )", connect);
cmd.Parameters.Add("@ime",OleDbType.Char).value = textBox1.Text;
cmd.Parameters.Add("@scoore",OleDbType.Char).value = rezultat;
cmd.ExecuteNonQuery();
请注意,不支持命名参数,因此必须以与查询中使用的顺序相同的顺序添加参数。有时使用@abc
语法可以访问Access,有时您需要使用?
palce持有者。我忘记了OleDb / Mdb交互的标准。
至于你的连接字符串问题,你看过this site并尝试了像这样的连接字符串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\tom\Desktop\snake2\snake\snake\Database1.mdb;
User Id=admin;Password=;