如何在 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 对象(objConnection
和 dbConn
)。
Using
的行为类似于Dim
,到目前为止,代码可以在一行代码中声明和初始化事物。但主要是它确保这些东西在块的末端被关闭和处理。该代码还使用构造函数在创建时将 SQL 和 Connection 传递给 dbConn
和 objCmd
。它只保存一两行代码,但假设它们从创建的那一刻起就具有所需的内容。
您还可以编写使用函数来返回Connection
对象,这样您就不必在整个代码中使用连接字符串。见this answer。
【讨论】:
以上是关于如何在 Visual Studio 2012 中将数据添加到 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中将 Visual Studio Emulator 与 VScode 连接起来?
如何在 Visual Studio 中将此 SQL 查询转换为 Elasticsearch 查询?
如何在 Visual Studio 2017 中将包添加到 python