我逐句通过此代码,发现该函数不仅未被调用,而且myBase.Load的其余部分从未完成此处发生的事情。mybase.load在调用函数时停止加载vb.net
现在显示所有外部参考。程序不会击中**中包围的行,并且会将frmMain_Load作为第一项运行。穿越图标确实落在以读者=开头的行上,但从未调用runAsIsQuery(断点不会被捕捉,并且穿行只会消失)。那么就说明我frmMain未经frmMain_Load也不是来自runAsISQuery
Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
sqlstring = "SELECT Nickname FROM tblBikeInfo"
reader = sql.runAsIsQuery(cnn, sqlstring) 'never fires
**If 1 = 1 Then**
'ummmm never comes back here either
End If
额外的细节要求了解的其他参考等待处理任何其他代码,这些都在frmMain为全局变量
Dim reader As OleDbDataReader
Dim sql As OLEDB_Handling 'custom class
Public cnn = MotorcyleDB.GetConnection
功能从自定义类(OLEDB_Handling )称为(MotorcyleDB)
**Public Function runAsIsQuery(connection As OleDbConnection, SQL As String) As OleDbDataReader**
Dim reader As OleDbDataReader
Dim command As New OleDbCommand(SQL)
command.Connection = connection
Try
connection.Open()
reader = command.ExecuteReader()
Return reader
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Function
连接字符串类
Public Shared Function GetConnection() As OleDbConnection
Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\************\Documents\Visual Studio 2010\Projects\MotorcycleMinder\MotorcycleMinder\MotorcycleServiceLog11.accdb")
End Function
您需要提供比我们更多的知识。如何创建读者,如何创建sql,如何创建cnn,如果代码放置在try catch块中会发生什么?您是否尝试过使用RunQuery运行查询? – WozzeC 2013-04-30 10:38:32
尝试调用runAsIsQuery的行会生成异常。因为你没有异常处理,所以它正在退出。要么绕过Try..Catch捕捉异常,要么更改调试器的Break On设置。 – RBarryYoung 2013-04-30 21:05:46
好吧,我oledbexcpetion赶上我的本地副本,它似乎是不够的。现在我把一个通用的捕获它确实有效地赶上...现在我得到空ref参考例外..我可以处理..很好的经验教训。现在我可以向我的老教师展示这件事,我请求帮助(谁也不能回答),谢谢大家。 – Skwiggs 2013-05-01 01:29:55