开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6284|回复: 46
收起左侧

[易源码分享] SQL server结构查看器

[复制链接]
发表于 2022-7-29 15:30:21 | 显示全部楼层 |阅读模式   江苏省苏州市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 w793586737 于 2022-7-29 15:31 编辑
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
T整数型  
a整数型  
环形进度条大恩_环形进度条  
等待逻辑型  
P整数型  

子程序名返回值类型公开备 注
_登录_被单击  
变量名类 型静态数组备 注
状态文本型 
如果真 (编辑框1.内容 = “”)
信息框 (“请输入SQL的IP地址!”, #警告图标, , )
编辑框1.获取焦点 ()
返回 ()
如果真 (编辑框2.内容 = “”)
信息框 (“请输入SQL管理员账号!”, #警告图标, , )
编辑框2.获取焦点 ()
返回 ()
如果真 (编辑框3.内容 = “”)
信息框 (“请输入SQL管理员密码!”, #警告图标, , )
编辑框3.获取焦点 ()
返回 ()
登录.禁止 = 真
状态条1.置文本 (3, “正在连接数据库,请等待......”)
登录.标题 = “ing”
如果 (启动_数据库连接.连接SQLServer (编辑框1.内容, “master”, 编辑框2.内容, 编辑框3.内容))  ' master 为  默认系统数据库
登录.标题 = “已 连 接”
状态条1.置文本 (1, “已 连 接”)
状态条1.置图片 (1, 1)
树型框1.清空 ()
选择夹1.现行子夹 = 1
启动线程 (&获取数据库名, , )
工具条1.去除状态 (2, 8)
工具条1.去除状态 (4, 8)
工具条1.去除状态 (6, 8)
工具条1.去除状态 (8, 8)
状态 = “连接成功”
登录.标题 = “未 连 接”
状态条1.置图片 (1, 0)
状态条1.置文本 (1, “未 连 接”)
状态 = “连接失败,请检查地址,账号,密码是否正确!”
信息框 (“IP地址:” + 编辑框1.内容 + #换行符“账号:” + 编辑框2.内容 + #换行符“密码:” + 编辑框3.内容 + #换行符“无法连接数据库,请检查地址,账号,密码是否正确!”, #警告图标, , )
状态条1.置文本 (3, 状态)
登录.禁止 = 假
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
加载皮肤 (3)
环形进度条.初始化 (, )
编辑框1.获取焦点 ()
子程序名返回值类型公开备 注
__启动窗口_将被销毁  
如果真 (启动_数据库连接.是否已连接 = )
启动_数据库连接.关闭 ()
如果真 (_启动窗口.启动_记录集.是否已打开 = )
_启动窗口.启动_记录集.关闭 ()
环形进度条.销毁 ()
子程序名返回值类型公开备 注
获取数据库名  
变量名类 型静态数组备 注
sql文本型 
名称文本型 
Nmae文本型 
i整数型 
o整数型 
k整数型 
l整数型 
表名_数组文本型0
表名文本型 
字段信息文本型0
库名文本型0
整数型 
数_局整数型 
可否为空文本型 
字段类型文本型 
字段名文本型 
j整数型 
数据库_库整数型 
数据库_表整数型 
数据库_列整数型 
等待 = 真
工具条1.加入状态 (2, 4)
树型框1.清空 ()
sql = “SELECT Name FROM Master..SysDatabases ORDER BY Name”  ' 加载库
如果真 (_启动窗口.启动_记录集.是否已打开 = )
_启动窗口.启动_记录集.置连接 (_启动窗口.启动_数据库连接)
如果 (_启动窗口.启动_记录集.打开 (sql, #SQL语句, ))
如果 (_启动窗口.启动_记录集.记录数量 > 0)
计次循环首 (启动_记录集.记录数量, i)
如果真 (_启动窗口.启动_记录集.读文本 (“Name”, 名称))
重定义数组 (库名, 真, i)  ' 保存到数组
库名 [i] = 名称
启动_记录集.到下一条 ()
状态条1.置文本 (3, 编辑框1.内容 + “ 正在连接库文件”)
计次循环尾 ()
树型框1.加入项目 (-1, 库名, 1, , , 真, )
数据库_库 = 取数组成员数 (库名)
计次循环首 (数据库_库, o)  ' 加载表
sql = “SELECT NAME FROM ” + 库名 [o]“.dbo.sysobjects WHERE TYPE='U'”
如果真 (_启动窗口.启动_记录集.打开 (sql, #SQL语句, ))
数据库_表 = 数据库_表 + 启动_记录集.记录数量
如果真 (启动_记录集.记录数量 > 0)
计次循环首 (启动_记录集.记录数量, k)
如果真 (_启动窗口.启动_记录集.读文本 (“NAME”, 表名))
重定义数组 (表名_数组, 真, k)  ' 保存到数组
表名_数组 [k] = 表名
启动_记录集.到下一条 ()

计次循环尾 ()
树型框1.加入项目 (o - 1 + 数, 表名_数组, 2, , , , )
数 = 数 + 取数组成员数 (表名_数组)
计次循环首 (取数组成员数 (表名_数组), j)
sql = “select C.name as [字段名],T.name as [字段类型],convert(bit,C.IsNullable)  as [可否为空] FROM ” + 库名 [o]“.dbo.syscolumns C INNER JOIN systypes T ON C.xusertype = T.xusertype left JOIN sys.extended_properties ETP   ON  ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description' left join syscomments CM on C.cdefault=CM.id WHERE C.id = (select id  from ” + 库名 [o]“.dbo.sysobjects where name='” + 表名_数组 [j]“')”
' 调试输出 (库名 [o], 表名_数组 [j])
如果真 (_启动窗口.启动_记录集.打开 (sql, #SQL语句, ))  ' 加载表
如果真 (启动_记录集.记录数量 > 0)
计次循环首 (启动_记录集.记录数量, l)
数据库_列 = 数据库_列 + 1
_启动窗口.启动_记录集.读文本 (“字段名”, 字段名)
_启动窗口.启动_记录集.读文本 (“字段类型”, 字段类型)
_启动窗口.启动_记录集.读文本 (“可否为空”, 可否为空)
重定义数组 (字段信息, 真, l)  ' 保存到数组
如果 (可否为空 = “0”)
字段信息 [l] = 字段名 + “(” + 字段类型 + “,not null)”
字段信息 [l] = 字段名 + “(” + 字段类型 + “,null)”
状态条1.置文本 (3, “正在加载中,库[ ” + 库名 [o]“] - 表[” + 表名_数组 [j]“] - 列[” + 字段名 + “]”)
启动_记录集.到下一条 ()
计次循环尾 ()
树型框1.加入项目 (o + 数_局, 字段信息, 0, , , , )
数_局 = 数_局 + 启动_记录集.记录数量 + 1
数 = 数 + 启动_记录集.记录数量


计次循环尾 ()


计次循环尾 ()
状态条1.置文本 (3, “加载完毕! SQL数据库结构(库:”到文本 (数据库_库)“ 表:”到文本 (数据库_表)“  列:”到文本 (数据库_列)“)”)
信息框 (“SQL未能找到数据库”, #警告图标, , )

信息框 (“打开失败,请稍后再试!”, #警告图标, , )
如果真 (_启动窗口.启动_记录集.是否已打开 = )
_启动窗口.启动_记录集.关闭 ()
工具条1.去除状态 (2, 4)
等待 = 假
子程序名返回值类型公开备 注
_树型框1_右键单击项目  
如果真 (树型框1.现行选中项 ≠ -1)
如果真 (树型框1.取缩进层次 (树型框1.现行选中项) = 2)
弹出菜单 (操作, 取鼠标水平位置 (), 取鼠标垂直位置 ())


子程序名返回值类型公开备 注
_查看前100条_被选择  
启动线程 (&查看前100条, , )
子程序名返回值类型公开备 注
查看前100条  
变量名类 型静态数组备 注
表名文本型 
库名文本型 
sql文本型 
o整数型 
输出文本型 
局_索引整数型 
局_项目索引整数型 
局_项目计次整数型 
局_计数整数型 
i整数型 
选中整数型 
数量整数型 
列文本文本型 
k整数型 
等待 = 真
选择夹2.现行子夹 = 0
库名 = 树型框1.取项目文本 (树型框1.取父项目 (树型框1.现行选中项))
表名 = 树型框1.取项目文本 (树型框1.现行选中项)
sql = “ SELECT TOP 100  * FROM ” + 库名 + “.dbo.” + 表名
如果真 (_启动窗口.启动_记录集.是否已打开 = )
_启动窗口.启动_记录集.置连接 (_启动窗口.启动_数据库连接)
如果 (_启动窗口.启动_记录集.打开 (sql, #SQL语句, ))
如果 (_启动窗口.启动_记录集.记录数量 > 0)
列表框.全部删除 ()  ' 清空表项
计次循环首 (列表框.取列数 () + 1, k)  ' 清空标题
列表框.删除列 (0)
计次循环尾 ()
选中 = 树型框1.现行选中项
局_项目索引 = 树型框1.现行选中项
局_项目计次 = 局_项目索引 + 1
局_计数 = 0
如果真 (树型框1.是否有子项目 (局_项目索引))
判断循环首 (树型框1.取父项目 (局_项目计次) = 局_项目索引)
局_计数 = 局_计数 + 1
局_项目计次 = 局_项目计次 + 1
判断循环尾 ()
列表框.插入列 (0, “序号”, 50, 1, , )
判断循环首 (启动_记录集.取字段名 (i)“”)
列表框.插入列 (i + 1, 启动_记录集.取字段名 (i), 取文本长度 (启动_记录集.取字段名 (i)) × 15, 1, , )
i = i + 1
判断循环尾 ()
计次循环首 (启动_记录集.记录数量, 数量)
局_索引 = 列表框.插入表项 (, , , , , )
列表框.置标题 (局_索引, 0, 到文本 (数量))
计次循环首 (局_计数, o)
启动_记录集.读文本 (o - 1, 输出)
列表框.置标题 (局_索引, o, 输出)
计次循环尾 ()
启动_记录集.到下一条 ()
计次循环尾 ()

信息框 (“[” + 表名 + “] 此表为空,无记录!”, #警告图标, , )

信息框 (“数据库连接失败,请重新连接!”, #警告图标, , )
选择夹1.现行子夹 = 0
等待 = 假
子程序名返回值类型公开备 注
_时钟1_周期事件  
如果 (等待 = )
外形框1.可视 = 真
如果 (P = 100)
P = 0
P


i支持库列表   支持库注释   
iext扩展界面支持库一
eDB数据库操作支持库
EThread多线程支持库
iext2扩展界面支持库二
spec特殊功能支持库

数据库结构查看器.e

1.11 MB, 下载次数: 147, 下载积分: 精币 -2 枚

源码

评分

参与人数 3好评 +2 精币 +6 收起 理由
网络注册网员 + 1 + 1 支持开源~!感谢分享
易语言资源网 + 1 + 3 开源精神必须支持~
kyo9766 + 2 感谢分享,很给力!~

查看全部评分


结帖率:60% (3/5)

签到天数: 20 天

发表于 2024-5-8 18:24:20 | 显示全部楼层   浙江省嘉兴市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)

签到天数: 20 天

发表于 2024-2-27 08:59:20 | 显示全部楼层   浙江省嘉兴市
66666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)

签到天数: 20 天

发表于 2024-2-27 08:58:58 | 显示全部楼层   浙江省嘉兴市
6666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2023-11-27 09:59:09 | 显示全部楼层   四川省广元市
不带模块,下载了有什么用
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-8-1 19:55:10 | 显示全部楼层   广东省佛山市
支持一下楼主
回复 支持 反对

使用道具 举报

结帖率:97% (36/37)

签到天数: 10 天

发表于 2023-2-14 00:36:55 | 显示全部楼层   广东省湛江市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 10 天

发表于 2022-12-7 16:32:51 | 显示全部楼层   湖北省荆州市

支持一下楼主
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 10 天

发表于 2022-12-7 16:32:12 | 显示全部楼层   湖北省荆州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2022-9-27 10:34:51 | 显示全部楼层   广东省揭阳市

感谢分享,很给力!~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表