我在直接将数据保存到Microsoft Access数据库时遇到了Visual Basic.NET代码中的问题。这里是我试图完成我的问题代码:如何将数据直接保存到vb.net的数据库中
Imports System.Data.OleDb
Public Class Form1
Dim cnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\ching13\Desktop\watta1.mdb"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using dbConnection = New OleDbConnection(cnn)
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Try
dbConnection.Open()
Dim cmd As New OleDbCommand
cmd.CommandText = "INSERT INTO Log-In(Username, [Password]) VALUES (@user, @pass)"
cmd.Parameters.Add(New OleDbParameter("@user", DbType.String))
cmd.Parameters.Add(New OleDbParameter("@pass", DbType.String))
cmd.Prepare()
cmd.Parameters("@user").Value = TextBox1.Text
cmd.Parameters("@pass").Value = TextBox2.Text
cmd.ExecuteNonQuery()
Catch ex As Exception
Finally
dbConnection.Close()
End Try
MessageBox.Show("Data Saved")
TextBox1.Text = ""
TextBox2.Text = ""
End Using
End Sub
End Class
这是我修改后的Visual Basic代码:
Imports System.Data.OleDb
Public Class Form1
Dim cnn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ching13\Desktop\watta2.accdb"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using dbConnection = New OleDbConnection(cnn)
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
dbConnection.Open()
Dim cmd As New OleDbCommand
cmd.Connection = dbConnection
cmd.CommandText = "INSERT INTO Log-In(Username, [Password]) VALUES (@user, @pass)"
cmd.Parameters.Add(New OleDbParameter("@user", DbType.String))
cmd.Parameters.Add(New OleDbParameter("@pass", DbType.String))
cmd.Prepare()
cmd.Parameters("@user").Value = TextBox1.Text
cmd.Parameters("@pass").Value = TextBox2.Text
cmd.ExecuteNonQuery()
dbConnection.Close()
MessageBox.Show("Data Saved")
TextBox1.Text = ""
TextBox2.Text = ""
End Using
End Sub
End Class
,什么是您遇到的错误?您需要提供至少*部分*信息。 (提示:你在Catch块中显式*忽略*异常,异常包含非常有用的信息,不应该被忽略。系统很可能试图告诉你到底发生了什么错误,而你只是没有听。) – David
没有看到任何东西给我一个线索。作为一个PS你不需要关闭连接,并且该catch块很好调皮... –
没有它你会得到一个空引用异常,我认为,给定蒂姆爵士发现了什么。这就是为什么尝试Catch结束是皱眉... –