使用C#将数据添加到数据库

时间:2013-04-15 16:42:12

标签: c# ms-access oledb

我目前正在尝试使用C#将数据添加到访问数据库(保存为mdb)这里是我当前的代码:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

        private OleDbConnection bookConn;
        private OleDbCommand oleDbCmd = new OleDbCommand();
        private String connParam = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Alex\Desktop\Project\example.mdb;Persist Security Info=False";


        public Form1()
        {
            bookConn = new OleDbConnection(connParam);
            InitializeComponent();
        }

        public void add()
        {
            try
            {
                bookConn.Open();
                oleDbCmd.Connection = bookConn;
                oleDbCmd.CommandText = "INSERT INTO Student (StudentID, Module) VALUES ('"+ this.textBox1.Text +"','"+ this.textBox2.Text +"');";
                oleDbCmd.CommandType = CommandType.Text;
                int temp = oleDbCmd.ExecuteNonQuery();
                if (temp > 0)
                {
                    MessageBox.Show("Added");
                }
                else
                {
                    MessageBox.Show("Failed");
                }
                bookConn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            add();
        }


    }
}

当我运行此代码时,我收到错误消息: INSERT INTO语句中的语法错误。

当我比较其他似乎正确设置的例子时,我无法弄清楚我做错了什么。

非常感谢任何帮助解决这个问题。

1 个答案:

答案 0 :(得分:2)

Modulereserved word。如果可能/实际,重命名该字段。如果您必须将其保留为字段名称,请将其括在INSERT语句的方括号中。

oleDbCmd.CommandText = "INSERT INTO Student (StudentID, [Module]) VALUES ('"+ this.textBox1.Text +"','"+ this.textBox2.Text +"');";