“System.NullReferenceException”类型的未经处理的异常在 课程设计__教务管理系统.exe 中发生 其他信息: 未将对象引用设置

qq_24825153 2015-06-07 02:14:57
Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_OK.Click
If Username.Text = "" Then
MsgBox("请输入用户名!")
Username.Focus()
Exit Sub
End If
If Password.Text = "" Then
MsgBox("请输入密码!")
Password.Focus()
Exit Sub
End If
Dim icount As Integer
txtSQL = "SELECT * FROM 用户 WHERE 用户名 =‘" & Username.Text & "'"
icount = ExecuteSQL(txtSQL, Errormsg)
If icount = 0 Then
MsgBox("没有此用户,请重新输入用户名!", vbExclamation)
Username.Focus()
Exit Sub

If icount = -1 Then
MsgBox("程序出错!", vbExclamation)
Username.Focus()
Exit Sub
End If
End If
If Trim(Password.Text) = Trim(DBSet.Tables.Item(0).Rows.Item(0).Item("密码").ToString()) Then
username_OK = DBSet.Tables.Item(0).Rows.Item(0).Item("用户名")
frmMain.Show()
Finalize()
Else
MsgBox("密码不正确,请重新输入密码!", vbExclamation)
Password.Focus()
End If

End Sub
...全文
459 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35508763 2016-07-04
  • 打赏
  • 举报
回复
作为一个c#新手,我在把别人的代码抄到自己程序上面的时候经常碰到这个问题,后来我发现只需要在出错代码处将定义类的顺序换一下就行了,至于原理是啥完全不懂,仁兄可是已经解决了这个问题?弱弱地求指点下
qq_24825153 2015-06-07
  • 打赏
  • 举报
回复
Module Module1 Public username_OK As String Public txtSQL As String Public DBSet As DataSet Public ErrorMsg As String Public Function ExecuteSQL(ByVal strSQL As String, ByRef errMsg As String) As Integer Dim cnn As New SqlClient.SqlConnection Dim cmd As New SqlClient.SqlCommand() Dim adpt As SqlClient.SqlDataAdapter Dim rst As New DataSet() Dim SplitSQL() As String errMsg = "" Try SplitSQL = Split(strSQL) cnn = New SqlClient.SqlConnection(ConnectString()) If InStr("INSERT,DELETE,UPDATE", UCase$(SplitSQL(0))) Then cmd.Connection = cnn cmd.Connection.Open() cmd.CommandText = strSQL ExecuteSQL = cmd.ExecuteNonQuery() Else adpt = New SqlClient.SqlDataAdapter(strSQL, cnn) adpt.Fill(rst) ExecuteSQL = rst.Tables(0).Rows.Count DBSet = rst End If Catch ex As Exception errMsg = ex.Message ExecuteSQL = -1 Finally rst = Nothing cnn = Nothing End Try End Function Public Function ConnectString() As String ConnectString = "Data Source=(local);Initial CataLog=教务管理系统;" End Function Sub main() Dim mf As New login mf.ShowDialog() End Sub End Module 实在是看不出来哪个变量为NULL了,大神们求解救啊
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在.NET开发过程,【对象引用设置对象的实例(System.NullReferenceException)】是一种频繁出现的运行时错误。该异常意味着开发者试图去访问或者操作一个被初始化的对象,换言之,就是这个对象引用处于null状态。无论是初出茅庐的开发者,还是经验丰富的资深开发者,都需要对这种错误保持警惕。出现这个错误的根本原因在于,开发者尝试去调用一个null引用对象的方法、属性或者其他成员。 例如,有如下代码: 在这个例子,a对象没有被赋予任何值,所以它的值是null,当尝试调用a.ToString()时,就会引发System.NullReferenceException异常。 再看另一种常见的情况: 如果value参数传入的是null,那么在调用value.Replace时就会抛出异常。为了避免这种情况,通常会在函数的开头对value进行是否为空的检查: 类似的问题也可能出现在ASP.NET的数据绑定表达式,比如Eval("字段").ToString()=="1"?"Yes":"No"。如果Eval("字段")返回的是null,就会导致NullReferenceException。正确的做法是先将Eval的结果转换为字符串,像这样Convert.ToString(Eval("字段"))=="1"?"Yes":"No"。 针对不同程度的开发者,处理NullReferenceException的方式也各有不同: 新手开发者可能由于经验不足,对这种错误了解有限,或者在编写代码时没有做好充分的异常处理工作,从而导致代码存在很多可能触发NullReferenceException的隐患点。 有一定经验的开发者虽然知道这个错误,但在实际编写代码的过程,可能会因为面临时间

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧