以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何连接sqlserver数据源,然后列出所有数据库名称  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120446)

--  作者:xxfoxtable
--  发布时间:2018/6/15 21:02:00
--  如何连接sqlserver数据源,然后列出所有数据库名称
如何连接sqlserver数据源,然后用combox控件列出所有数据库名称
--  作者:有点蓝
--  发布时间:2018/6/15 21:09:00
--  
参考:http://www.foxtable.com/webhelp/scr/2310.htm


Dim cmb As WinForm.ComboBox
cmb = e.Form.Controls("ComboBox1")
For Each cn As Connection In Connections
    cmb.Items.Add(cn.Name)
Next

--  作者:xxfoxtable
--  发布时间:2018/6/15 21:20:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

我想这样实现,测试连接的代码应该怎么写呢?
[此贴子已经被作者于2018/6/15 21:21:09编辑过]

--  作者:有点蓝
--  发布时间:2018/6/15 21:45:00
--  
刚才给了的帮助,就不会前后几页的内容都看看么


--  作者:xxfoxtable
--  发布时间:2018/6/15 21:57:00
--  
连接哪个数据库还不知道,示例中全部是连接具体数据库,这样的我会,但没有选择之前,我不知道选择哪个数据库,这样的语句不会写,要通过combox控件选择,我才能确定连接哪个数据库
[此贴子已经被作者于2018/6/15 21:57:54编辑过]

--  作者:有点蓝
--  发布时间:2018/6/15 22:08:00
--  
请认真看4楼的用法。


--  作者:liufucan
--  发布时间:2018/6/15 22:22:00
--  
我想楼主的意思是遍历SQL服务器下的多个数据库,不是遍历数据源,这个恐怕狐表做不到
--  作者:xxfoxtable
--  发布时间:2018/6/15 22:23:00
--  
Dim strCon As String = "Provider=SQLOLEDB.1;Password={0};Persist Security Info=True;User ID=sa;Data Source={1}"
strCon = String.Format(strcon, e.Form.Controls("TextBox2").Text, e.Form.Controls("TextBox1").Text)
Dim bt2 As WinForm.Button = e.Form.Controls("Button2")
If Connections.TryConnect(strCon) Then
    Dim cmb As WinForm.ComboBox
    cmb = e.Form.Controls("ComboBox1")
    For Each cn As Connection In Connections
        msgbox(cn.name)
        cmb.Items.Add(cn.Name)
    Next
    bt2.Enabled=True
    msgbox("测试成功")
    
Else
    msgbox("测试失败")
    bt2.Enabled=False
End If
这是这样写的,但combox控件里一片空白,经测试跳过循环了,没执行,请老师指点一下

--  作者:有点蓝
--  发布时间:2018/6/15 22:28:00
--  
如果是像7楼所说的,是没有办法获取服务器安装了几个数据库的。

你要预先知道有那些数据库,然后把数据库名称、服务器地址先放到组合框里。

8楼是遍历数据源的,要先添加数据源

--  作者:cbt
--  发布时间:2018/6/16 11:47:00
--  
 s e lect name from sysda tabases