使用datatable在查询数据中,如果查询的数据不存在,就会报出“在位置0处没有任何行” 的错误。因此首先应该判断一下该表是否为空;
由于在查询中使用了SQLHelper并且返回一个datatable,这就导致了可能出现空内容的情况。在B层中应该加上如下一句:
If (table.Rows.Count > 0) Then
这样就提前判断出表的行数是否为空,大于0则执行程序,否则就可以
1.try...catch的出错处理;
2.这层我返回的是一个实体类studentEntity,可以返回一个空的studentEntity。如下:
If (table.Rows.Count > 0) Then
student.CardID = table.Rows(0)("cardID").ToString()
student.UserID = table.Rows(0)("userID").ToString
student.UserName = table.Rows(0)("userName").ToString
student.UserSex = table.Rows(0)("userSex").ToString
student.UserDepart = table.Rows(0)("userDepart").ToString
student.UserGrade = table.Rows(0)("userGrade").ToString
student.UserClass = table.Rows(0)("userClass").ToString
student.UserFee = table.Rows(0)("userFee").ToString
student.UserState = table.Rows(0)("userState").ToString
student.UserPlain = table.Rows(0)("userPlain").ToString
Return student
Else
Return New StudentEntity
End If
这样就解决了datatable在位置0处没有任何行的错误。