【发布时间】:2019-08-05 17:21:51
【问题描述】:
这是我第一次尝试使用 .NET 和数据库。
我正在尝试向表中添加记录,但没有添加任何内容。我已将其简化为下面的基本代码。
没有生成错误,但没有任何内容添加到表中。
Imports System.Data
'Imports System.Data.OleDb
Class Form1
Dim dbProvider As String
Dim dbSource As String
Dim dbPathAndFilename As String
Dim con As New OleDb.OleDbConnection
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" ' MDB
'dbProvider = "PROVIDER=Microsoft.Ace.OLEDB.12.0;" 'ACCDB
dbSource = "Data Source="
LoadData()
End Sub
Sub LoadData()
'Connect to db
'You could store the db path in the Settings of the App.
'dbPathAndFilename = My.Settings.dbPath
dbPathAndFilename = "C:\temp\VB\DBTest\Test.mdb"
con.ConnectionString = dbProvider & dbSource & dbPathAndFilename
con.Open()
sql = "INSERT INTO Table1(Field1) VALUES('Field1');"
da = New OleDb.OleDbDataAdapter(sql, con)
con.Close()
End Sub
End Class
【问题讨论】:
-
您错过了查询的实际执行: cmd.ExecuteNonQuery() social.msdn.microsoft.com/Forums/vstudio/en-US/…
-
另外,恕我直言,考虑将一次性对象包装在
using语句中;这样可以确保它们在完成后得到妥善处理。 -
我回到我复制初始代码的地方,找到了我删掉的内容。现在得到“对象变量或未设置块变量”
-
根据599cd.com/tips/vbdotnet/140826_ConnectToAccess更新,现在可以正常使用了。
-
您的链接代码从数据库中查询数据,但您的查询文本尝试插入。你需要一个不同的对象来做到这一点。见stackoverflow.com/questions/10941284/…
标签: .net vb.net ms-access oledb