如何在 visual studio 2012 中将数据添加到访问数据库

How to add data to an access database in visual studio 2012

这是我放在提交按钮后面的代码,我有两个文本框名称和电子邮件,我想将它们添加到我的数据库中,但它不起作用想知道是否有人可以提供帮助

Dim Strnm As String = Request.Form("txtname")
        Dim Strem As String = Request.Form("txtemail")

        Dim objConnection As OleDbConnection = Nothing
        Dim objcmd As OleDbCommand = Nothing

        Dim StrSQL As String
        Dim dbConn As OleDbConnection = Nothing

        Dim filepath = "G:\WebSites\WebSite1\App_Data\register_log.ldf"
        dbConn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\registration.accdb")
        dbConn.Open()

        StrSQL = "insert into tblregistration (Name, E-mail) values (?,?)"
        objcmd = New OleDbCommand(StrSQL, dbConn)
        objcmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("@txtname", Strnm))
        objcmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("@txtemail", Strem))


        'close connection
        dbConn.Close()
        Response.Write("submitted successfully")

您没有执行查询。您的代码也可以使用 Using 声明和处理事物的块来缩短:

Dim Strnm As String = Request.Form("txtname")
Dim Strem As String = Request.Form("txtemail")

Dim StrSQL = "insert into tblregistration (Name, E-mail) values (?,?)"

Using dbConn = New OleDbConnection(connection string...),
    objcmd = New OleDbCommand(StrSql, objConnection)

    dbConn.Open()

    objcmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("@txtname", Strnm))
    objcmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("@txtemail", Strem))

    objcmd.ExecuteNonQuery     ' execute the query
End Using             ' close and dispose of dbConn, objcmd


Response.Write("submitted successfully")

代码中还声明了 2 个连接对象(objConnectiondbConn)。

Using 的行为类似于 Dim,到目前为止,代码可以在一行代码中声明和初始化事物。但主要是它确保这些东西在块的末尾被关闭和处理。该代码还使用构造函数在创建 SQL 和 Connection 时将它们传递给 dbConnobjCmd。它只节省一两行代码,但假设它们从创建的那一刻起就拥有它们所需要的。

您还可以编写一个函数来 return 一个 Connection 对象,这样您就不必在整个代码中使用连接字符串。参见