列举SQL Server中的数据库名称、某一数据库的中表名

列举SQL Server中的数据库名称、某一数据库的中表名

*-----------------------------------

方法一:

调用系统数据库 MASTER 中的存储过程 sp_helpdb 即可,如下:

lnsqlhandle=SQLSTRINGCONNECT("driver=SQL Server;server=计算机名;uid=sa;pwd=;database=master")
IF lnsqlhandle<0
MESSAGEBOX('连接失败!',16,'信息提示')
RETURN
ENDIF
lnsucc=SQLEXEC(lnsqlhandle,"exec sp_helpdb","DataBaseValue")
IF lnsucc<0
MESSAGEBOX('调用失败!',16,'信息提示')
RETURN
ENDIF
SELECT DataBaseValue
SCAN
?ALLTRIM(NAME)
ENDSCAN


如果想把数库名显示在一个下拉框中
----------------------------------

在表单的INIT事件中:

THISFORM.COMBO1.STYLE=2
THISFORM.COMBO1.ROWSOURCETYPE=6
THISFORM.COMBO1.ROWSOURCE='ALLTRIM(DataBaseValue.Name)'

前提:表单上有控件COMBO1



方法二:
----------------------------------

用DMO,如果没有安装SQL Server的话,只需把SQLDMO.DLL注册一下就可以了。

LOCAL loForm
loForm = CREATEOBJECT("Form1")
loForm.SHOW(1)

DEFINE CLASS Form1 AS FORM

WIDTH = 200
HEIGHT = 70
MAXBUTTON = .F.
BORDERSTYLE = 2
CAPTION = "SQL Server"
ADD OBJECT COMBO1 AS COMBOBOX WITH TOP = 20, LEFT = 30, WIDTH = 140, STYLE = 2
PROCEDURE INIT
LOCAL loServer
loServer = CREATEOBJECT("SQLDMO.SQLServer")
loServer.CONNECT("127.0.0.1", "sa", "")
FOR i2 = 1 TO loServer.DATABASES.COUNT
THIS.COMBO1.ADDITEM(loServer.DATABASES.ITEM(i2).NAME)
ENDFOR
THIS.COMBO1.VALUE = THIS.COMBO1.LIST(1)
RELEASE loServer
ENDPROC
ENDDEFINE







列举SQL Server中某一数据库中的表名

*-----------------------------------
lnsqlhandle=SQLSTRINGCONNECT("driver=SQL Server;server=计算机名;uid=sa;pwd=;database=数据库名")
IF lnsqlhandle<0
MESSAGEBOX('连接失败!',16,'信息提示')
RETURN
ENDIF
lnsucc=SQLTABLES(lnsqlhandle,'TABLE','MyTable') &&'TABLE'必须大写,取得用户表名
*lnsucc=SQLTABLES(lnsqlhandle,'VIEW','MyTable') &&'VIEW'必须大写,取得视图名
*lnsucc=SQLTABLES(lnsqlhandle,'SYSTEM TABLE','MyTable') &&'SYSTEM TABLE'必须大写,取得系统表名
*lnsucc=SQLTABLES(lnsqlhandle,'','MyTable') &&'SYSTEM TABLE'必须大写,取得所有表名
IF lnsucc<0
MESSAGEBOX('出错了!',16,'信息提示')
RETURN
ENDIF
SELECT MyTable
SCAN
?ALLTRIM(Table_Name)
ENDSCAN

如果想把数库中的表名显示在一个下拉框中
----------------------------------
在表单的INIT事件中:

THISFORM.COMBO1.STYLE=2
THISFORM.COMBO1.ROWSOURCETYPE=6
THISFORM.COMBO1.ROWSOURCE='ALLTRIM(MyTable.Table_Name)'

前提:表单上有控件COMBO1

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值