Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]列出每个数据库的所有用户

1楼
2425004926 发表于:2023/10/17 9:28:00
狐表杂项中有一个窗口,SQLExcuter
选择数据源(是ip下面的一个数据库)
语句S elect name From Sysusers Where islogin = '1'
就列出了这个数据库的所有用户

如果要列出另一个数据库的用户,就需要更换数据源(及同一ip的另一个数据库)

我现在想把每个数据库的的用户单独列出来,
语句应该怎么写,老师指点一下

第一步:获取IP地址下所有数据库名S elect Name From Master..SysDatabases Order By Name
第二步:?
2楼
有点蓝 发表于:2023/10/17 9:39:00
遍历这些数据库名称呗
……
Dim dt As DataTable = cmd.ExecuteReader()
for each dr as datarow in dt.datarows
cmd.CommandText = "Select name From “ & dr("name") & ” Where islogin = '1'"
……
next
3楼
2425004926 发表于:2023/10/17 9:50:00
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "Sel ect Name From Master..SysDatabases Order By Name"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.datarows
    Dim dt2 As DataTable
    Dim cmd2 As New SQLCommand
    cmd2.CommandText = "Sel ect name From " & dr("name") & " Where islogin = '1'"
    dt2 = cmd2.ExecuteReader()
    OutPut.Show(dt2.GetComboListString("name"))
Next

我这样试过,会出错,红色部分,如果把数据库名放在那里出错,显示对象名无效,用Sysusers却没有问题
[此贴子已经被作者于2023/10/17 9:52:22编辑过]
4楼
有点蓝 发表于:2023/10/17 10:03:00
cmd2.CommandText = "Sel ect name From " & dr("name") & ".Sysusers Where islogin = '1'"
5楼
2425004926 发表于:2023/10/17 10:15:00
还是出错,对象名 'jjkabc.Sysusers' 无效。
6楼
有点蓝 发表于:2023/10/17 10:19:00
说明jjkabc这个数据库里没有Sysusers这个表。能够保证所有数据库都有同样的用户表吗?
7楼
2425004926 发表于:2023/10/17 10:21:00
SQLExcuter窗口的逻辑,数据源对应数据库

同一语句 Sele ct name From Sysusers Where islogin = '1'"
不同数据库得出不同用户名

‘数据库名称’ 的参数肯定是带进去了,语句是否作了调整?
8楼
有点蓝 发表于:2023/10/17 10:24:00
试试
cmd2.CommandText = "Sel ect name From " & dr("name") & ".dbo.Sysusers Where islogin = '1'"
9楼
2425004926 发表于:2023/10/17 10:37:00
好了,OK,谢谢老师!
cmd2.CommandText = "Sele ct name From " & dr("Name") & ".dbo.Sysusers Where islogin = '1'"
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03320 s, 2 queries.