在我的代码中,为什么在con.Open()
之后没有任何内容执行
如果我单步执行每个步骤,则会在Form1_Load
之后结束con.Open()
事件。
Imports System.Data.OleDb
Public Class Form1
Dim con As OleDbConnection
Dim strCon As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\testDB.accdb"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con = New OleDbConnection(strCon)
con.Open()
MsgBox("con open")
con.Close()
MsgBox("con closed")
End Sub
End Class
答案 0 :(得分:3)
听起来像错误开始了。
您是否尝试使用OnError Goto Handler
类型代码构建代码?请参阅On Error Statement。
如果这是VB.NET,请尝试使用Try ... Catch
捕获异常。然后在Catch
语句上设置断点,以找出错误是什么。
答案 1 :(得分:0)
安装MS Access数据库引擎(使用Microsoft.ACE.OLEDB.12.0)后,我的程序仍无效。我仍然有错误:
“'Microsoft.ACE.OLEDB.12.0'提供程序未在本地muoteachine上注册。”
我还必须更改高级编译配置,因为我在Windows 7 64位上运行,可能“......将处理器类型锁定为32位”。
如何更改设置:
1.Tools - >选项。
2.检查“显示所有设置”。
3.在左侧的树视图中,选择“项目和解决方案”
4.在右侧的选项中,选中“显示高级构建配置”框
5.单击“确定”
6.转到Build - >配置管理器...
7.在“平台”列中,在下拉列表中选择“新建”
8.在第一个下拉框中选择“x86”
9.“好的”
答案 2 :(得分:0)
即使你有适当的尝试catch阻塞一段时间,con.Open()也需要几秒钟才能抛出异常,因为它正在等待服务器。以下错误需要一段时间才能抛出异常,看起来好像你的Step Into消失了。请耐心等待!
“ORA-12170:TNS:发生连接超时”
答案 3 :(得分:0)
导入System.Data.Odbc
Public Class Form11
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a1, a2, a6, a3, a4, a5, a7 As String
' Dim a2, a6 As Integer
a1 = txtname.Text
a3 = txtaddress.Text
a4 = txtcity.Text
a5 = txtmail.Text
a7 = txtbalance.Text
a2 = txtmob.Text
a6 = txtvehicles.Text
Dim con As New OdbcConnection("DSN = crusher_schema")
con.Open()
MsgBox("Databse Connected", MsgBoxStyle.Information, "add")
Dim cmd As New Odbc.OdbcCommand("insert into customer values('" & a1 & "','" & a2 & "','" & a3 & "','" & a4 & "','" & a5 & "','" & a6 & "','" & a7 & "', con")
Dim r As Integer
r = cmd.ExecuteNonQuery
If r = 1 Then
MessageBox.Show("Succesfully inserted" & r)
Else
MessageBox.Show("Not inserted" & r)
End If!