C#将值插入Access数据库

时间:2014-04-07 18:15:42

标签: c# database ms-access

将变量插入数据库时​​遇到问题。

以下是代码中的示例:

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

    }

数据库已正确连接,但如果单击该按钮则会出现错误。

1 个答案:

答案 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=;