ASP.NET - MS-ACCESS - VB.NET - SQL 语句错误

Posted

技术标签:

【中文标题】ASP.NET - MS-ACCESS - VB.NET - SQL 语句错误【英文标题】:ASP.NET - MS-ACCESS - VB.NET - SQL STATEMENT ERROR 【发布时间】:2012-03-25 14:09:53 【问题描述】:

谁能告诉我这段代码有什么问题?它在cmd.ExecuteNonQuery() 中给了我一个错误

Protected Sub btnCreateAccount_Click(sender As Object, e As System.EventArgs) Handles btnCreateAccount.Click

    Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Brian\Documents\Visual Studio 2010\WebSites\WebSite3\db.mdb;")

    Dim cmd As OleDbCommand = New OleDbCommand("INSERT INTO [User] (CustomerName, CustomerSurname, Address, Country, TelNo, Username, Password, UserTypeID) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", conn)




    If txtPass.Text = txtCPass.Text Then

        conn.Open()


        cmd.Parameters.Add("@CustomerName", OleDbType.VarChar, 255).Value = txtName.Text
        cmd.Parameters.Add("@CustomerSurname", OleDbType.VarChar, 255).Value = txtSurname.Text
        cmd.Parameters.Add("@Address", OleDbType.VarChar, 255).Value = txtAddress.Text
        cmd.Parameters.Add("@Country", OleDbType.VarChar, 255).Value = txtCountry.Text
        cmd.Parameters.Add("@TelNo", OleDbType.Integer).Value = txtTelNo.Text
        cmd.Parameters.Add("@Username", OleDbType.VarChar, 255).Value = txtUsername.Text
        cmd.Parameters.Add("@Password", OleDbType.VarChar, 255).Value = txtPass.Text
        cmd.Parameters.Add("@UserTypeID", OleDbType.Integer, 255).Value = "1"





        cmd.ExecuteNonQuery()

        conn.Close()
        lblAccount.Visible = True



    End If

End Sub

结束类

【问题讨论】:

它告诉我“INSERT INTO”语句中有错误。但我之前尝试过,它正在工作。我所做的只是在 db 中更改列的名称,然后在 asp.net 中更改 你能手动运行命令吗?是否存在约束问题或必须唯一的列。 有一个'UserID',它是通过 ms-access db 自动编号的 【参考方案1】:

编辑:usernamepassword 可能是 reserved keywords in Access。

尝试用括号括起来:

 ..., TelNo, [Username], [Password], ...

【讨论】:

以上是关于ASP.NET - MS-ACCESS - VB.NET - SQL 语句错误的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET - MS-ACCESS - VB.NET - SQL 语句错误

ASP.NET - VB.NET - 更新 MS_Access 表

如何使用 asp.net 从客户端读取 ms-access 数据库文件

如何将 VBA 迁移到 asp.net

寻求代码设计建议:使用 VB.Net 和 Ms-Access

用C#编写的asp.net 和 vb.net编写的asp.net 有性能上的差异吗?