如何在不将数据输入自动编号列的情况下将数据插入 MS Access 表?

Posted

技术标签:

【中文标题】如何在不将数据输入自动编号列的情况下将数据插入 MS Access 表?【英文标题】:How to insert data into MS Access table without entering data into the AutoNumber column? 【发布时间】:2017-12-08 20:41:33 【问题描述】:

我正在使用 Microsoft Access 2016 并开发一个 ASP.NET WebForm,我想在其中将数据输入到 tbl_users 表中。我有以下服务器端代码:

connectionString = GetConnString();
string insertQuery = "insert into tbl_users (fullName, emailID, password) values(?, ?, ?)";
using (OleDbConnection con = new OleDbConnection(connectionString))

    con.Open();
    using (OleDbCommand insertCommand = new OleDbCommand(insertQuery, con))
    
        insertCommand.CommandType = CommandType.Text;
        insertCommand.Parameters.AddWithValue("fullName", TextBoxFullName.Text);
        insertCommand.Parameters.AddWithValue("emailID", TextBoxEmailID.Text);
        insertCommand.Parameters.AddWithValue("password", TextBoxPassword.Text);        
        insertCommand.ExecuteNonQuery();
        con.Close();
    

表架构如下:

tbl_users(userID(AutoNumber), fullName(LongText), emailID(LongText), password(LongText))

当我运行代码时,我收到以下错误:

System.Data.OleDb.OleDbException (0x80040E14): Syntax error in INSERT INTO statement

我哪里错了?

【问题讨论】:

完美运行。谢谢! 【参考方案1】:

password 是 Access SQL 中的关键字,因此需要用括号括起来。添加括号([password]),您的查询将运行良好。

最终结果:

string insertQuery = "insert into tbl_users (fullName, emailID, [password]) values(?, ?, ?)";

【讨论】:

以上是关于如何在不将数据输入自动编号列的情况下将数据插入 MS Access 表?的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在不将 ViewController 对象推入其中的情况下将对象分配给 `UINavigationController`。

有没有办法在不将 dtype 更改为对象的情况下将 NaT 附加到带有时区的 pandas 日期时间?

如何在不先定义表中的列的情况下将数据加载到 PostgreSQL 中?

如何在不将字体转换为轮廓的情况下将 cairo-pdf 转换为 eps

无法在不覆盖的情况下将 R 数据框附加到现有 Excel 中

如何在不将图像保存在本地的情况下将捕获的图像(Surface View)传递给另一个片段?