asp.net – 在MS Access 2003中INSERT到用户表中的语法错误

前端之家收集整理的这篇文章主要介绍了asp.net – 在MS Access 2003中INSERT到用户表中的语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用VB.NET和ASP.NET以及ms-access 2003数据,我正在尝试将数据从Web表单输入到db.mdb中名为“USER”的表中.

我试过这段代码

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;User Id=admin;Password=;")

    Dim cmd As OleDbCommand = New OleDbCommand("INSERT INTO USER (Name,Surname,Username,Country,TelNo,Password,Address) VALUES (?,?,?)",conn)

    If txtPass.Text = txtCPass.Text Then

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

        Try

            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()

        Catch ex As OdbcException
            Throw ex
        Finally
            conn.Close()
            lblAccount.Visible = True


        End Try

    End If

End Sub

但它给我一个错误信息:

为什么问题可能导致的任何建议?

解决方法

用户和密码是保留关键字.更改名称,或在查询中的名称周围使用方括号:
Dim cmd As OleDbCommand = New OleDbCommand("INSERT INTO [USER] (Name,[Password],conn)

然后,对于您将遇到的下一个错误:由于参数未在查询中命名,因此必须按照查询中使用的顺序添加Parameters集合中的参数对象.

猜你在找的asp.Net相关文章