如何在 Visual Studio 2012 中将数据添加到 Access 数据库

Posted

技术标签:

【中文标题】如何在 Visual Studio 2012 中将数据添加到 Access 数据库【英文标题】:How to add data to an access database in visual studio 2012 【发布时间】:2015-04-20 11:42:25 【问题描述】:

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

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")

【问题讨论】:

您没有执行查询:objcmd.ExecuteNonQuery()。您还应该处理连接和命令对象。 Using 块对此有好处 添加带名称的参数必须在查询中具有参数名称..否则只需添加不带参数名称的参数。 @krish OleDB 只是将命名参数视为占位符,实际上并没有将它们用作命名参数 啊酷我不知道.. 【参考方案1】:

您没有执行查询。你的代码也可以用 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 个 Connection 对象(objConnectiondbConn)。

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

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

【讨论】:

以上是关于如何在 Visual Studio 2012 中将数据添加到 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中将 Visual Studio Emulator 与 VScode 连接起来?

如何在 Visual Studio 中将此 SQL 查询转换为 Elasticsearch 查询?

如何在 Visual Studio 2017 中将包添加到 python

如何在 Visual Studio 2010 中将数据保存到本地数据库?

如何在 Visual Studio 2010 中使用互斥锁

如何在 Visual Studio 中将 pjsip 构建为 DLL?