简体   繁体   English

ASP.NET-MS访问-VB.NET-SQL语句错误

[英]ASP.NET - MS-ACCESS - VB.NET - SQL STATEMENT ERROR

Can anyone tell me what's wrong with this code? 谁能告诉我这段代码有什么问题吗? It's giving me an error in cmd.ExecuteNonQuery() 它在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

End Class 末级

EDIT: It's probably that username and password are reserved keywords in Access . 编辑:可能是usernamepasswordAccess中的保留关键字

Try to surround them with brackets: 尝试用方括号将它们包围:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM