关于数据填充后出现的问题,在线等~~~~~~

zjx1302 2008-05-19 09:05:48

'******************************************************************************************************
'函数原型:
'函数功能:判断用户是否可以登陆本系统
'函数参数:
'函数返回:True-表示可以登陆系统,False - 表示无权限登陆系统
'创建日期:2008-05-13
'修改日期:
'******************************************************************************************************
Function LoginGrant(ByVal UserID As String, ByVal SoftwareName As String) As Boolean
Dim vSqladp As New SqlDataAdapter
Dim ds As New DataSet
vSqladp.SelectCommand = New SqlCommand
Try
vSqladp.SelectCommand.CommandText = "select LJMC from T_YHLB where YHBH='" & UserID & "'"
vSqladp.SelectCommand.Connection = SqlConn
Dim vSljmcarr(), vSljmc As String
vSqladp.Fill(ds, "T_YHLB") '=====>>执行到这句的时候提示出错:提示信息为:Invalid object name "T_YHLB"
If ds.Tables("T_YHLB").Rows.Count > 0 Then
vSljmc = ds.Tables("T_YHLB").Rows(0).Item("LJMC")
vSljmcarr = vSljmc.Split(",")
For Each s As String In vSljmcarr
If s.ToLower = SoftwareName.ToLower Then
Return True
End If
Next
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
vSqladp.SelectCommand.Dispose()
vSqladp.Dispose()
ds.Dispose()
End Try
End Function


如上面的代码所示,一直出错,我使用SQL 2005 执行了上面的SQL语句发现语句没有错误,可是不知道为什么总是不行,还请大家帮忙看下是什么问题引起的.
...全文
61 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjx1302 2008-05-19
  • 打赏
  • 举报
回复
楼上的正解!非常你的这句肯定,让我去找找Sqlconn,发现我在连接到另一以数据库服务器了.

问题已经解决给分.非常感谢!!!
fairy4 2008-05-19
  • 打赏
  • 举报
回复
Dim sqlconn As SqlConnection
sqlconn = New SqlClient.SqlConnection("server=;database=;uid=;pwd=")
我可以肯定你的sqlconn 有问题!或者 T_YHLB 这个表在你的当前数据库不存在!
zjx1302 2008-05-19
  • 打赏
  • 举报
回复
楼上的朋友是不是改成如下的呢?


Function LoginGrant(ByVal UserID As String, ByVal SoftwareName As String) As Boolean
Dim vSqladp As New SqlDataAdapter
Dim ds As New DataSet
Try
vSqladp.SelectCommand = New SqlCommand
vSqladp.SelectCommand.Connection = SqlConn
vSqladp.SelectCommand.CommandText = "Select LJMC from T_YHLB where YHBH='" & UserID & "'"
Dim vSljmcarr(), vSljmc As String
vSqladp.Fill(ds)  '=====>>一样还是这里出错,错误的信息与上面的一样
If ds.Tables(0).Rows.Count > 0 Then
vSljmc = ds.Tables(0).Rows(0).Item("LJMC")
vSljmcarr = vSljmc.Split(",")
For Each s As String In vSljmcarr
If s.ToLower = SoftwareName.ToLower Then
Return True
End If
Next
Else
Return False
End If
Catch ex As Exception

Finally
vSqladp.SelectCommand.Dispose()
vSqladp.Dispose()
ds.Dispose()
End Try
End Function
zjx1302 2008-05-19
  • 打赏
  • 举报
回复

vSqladp.Fill(ds, "T_YHLB")

改为

vSqladp.Fill(ds,T_YHLB) 这样是不行的




楼上的朋友,是哪个引号呢?

rockyvan 2008-05-19
  • 打赏
  • 举报
回复
把你那些引號去了試試
zjx1302 2008-05-19
  • 打赏
  • 举报
回复
没有,数据连接不会错,
SqlConn,这是个全局变量,如果错的话不会执行到这里了
nihaimeiyoudenglu 2008-05-19
  • 打赏
  • 举报
回复
你是不是联错了数据库呢?

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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