无法使用 C# 将数据写入 MS Access 数据库

Can't write data into MS Access database with C#

我已经构建了一个成功的登录表单。但我想有机会创建一个新帐户。我有两个文本框;一个用于用户名,一个用于密码。单击按钮后,需要将此数据写入 MS Access 2002-2003 数据库文件。但是,当我单击该按钮时,出现以下错误消息:

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll Additional information: Syntax error in INSERT INTO statement.

这是我使用的代码:

    private void buttonRegistreren_Click(object sender, EventArgs e)
    {
        connection.Open();
        OleDbCommand command = new OleDbCommand();
        command.Connection = connection;
        command.CommandText = "INSERT INTO Gebruikers (Username, Password) values('" + textBoxUserregist.Text + "', '" + textBoxPassregist.Text + "')";
        command.ExecuteNonQuery();
        connection.Close();
    }

有人知道我做错了什么吗?

密码是MS-Access中的保留关键字,需要用方括号封装

command.CommandText = "INSERT INTO Gebruikers (Username, [Password]) ...."

说请记住,字符串连接构建 sql 命令是一种非常糟糕的做法,会导致许多问题。尽快开始使用参数,如下例所示

private void buttonRegistreren_Click(object sender, EventArgs e)
{
    using(OleDbConnection cn = new OleDbConnection(.....))
    using(OleDbCommand command = new OleDbCommand(@"INSERT INTO Gebruikers
                    (Username, [Password]) values(@name, @pwd)", cn))
    {
        cn.Open();
        command.Parameters.Add("@name", OleDbType.NVarWChar).Value =textBoxUserregist.Text ;
        command.Parameters.Add("@pwd", OleDbType.NVarWChar).Value = textBoxPassregist.Text;
        command.ExecuteNonQuery();
    }
}