使用C#ASP.NET插入MS访问中的自动号



我正在尝试在MS Access DB中自动插入数字。

目前我有一个看起来像:

的数据库
| id | username | password | name | email |

其中id是自动增加的。

我有此代码:

cmd.Parameters.AddWithValue("@userName", tbUname.Text.Trim());
cmd.Parameters.AddWithValue("@password", tbPass.Text.Trim());
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Email", tbEmail.Text.Trim());
string sql = "insert into users " +
            "values('',@userName, @password, @Name, @Email)";

我尝试这样做:

INSERT INTO users (username,password,name,email) VALUES (@userName,@password, @Name, @Email)

我运行此查询时我遇到的错误是:

system.data.oledb.oledbexception:插入语句中的语法错误。在system.data.oledb.oledb.oledbcommand.executecommandtexterrorhandling(oledbhresult hr( (对象& executeresult(在系统上。data.oledb.oledb.oledbcommand.executecommand(commandbehavior行为,对象,executeresult(发件人,EventArgs e(

但行不通。我需要它,以便每当新用户注册时,都会分配一个数字。

一些人可以帮助我吗?

我要接受一个 password是MS Access

中的保留字段名称

尝试

cmd.Parameters.AddWithValue("@userName", tbUname.Text.Trim());
cmd.Parameters.AddWithValue("@password", tbPass.Text.Trim());
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Email", tbEmail.Text.Trim());
string sql = "INSERT INTO users (username,[password],name,email) VALUES (@userName,@password, @Name, @Email)";

请注意围绕password

的[]

最新更新