开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3296|回复: 12
收起左侧

[图文资料] 精易模块ODBC类连接sqlserver插入c数据查询数据可导出ex...

[复制链接]
结帖率:0% (0/1)
发表于 2022-7-5 19:08:59 | 显示全部楼层 |阅读模式   河南省郑州市
精易模块odbc类连接sql插入数据,查询数据,可导出execl开源开源声明:内部使用,开源共享。用到了精易模块10.2.5的odbc类
程序功能:收集计算机主机基本信息包括计算机名称,内存,CPU,硬盘 网卡 ip 等信息,创建线程判断是否已接入互联网等 上传到SQL server,可导出execl文件保存到本地。
  
窗口程序集名保 留  保 留备 注
窗口程序集_采集数据显示窗口1   
变量名类 型数组备 注
CK_类_ODBC连接数据库类_ODBC数据库  
控制许可证整数型  
全局超时整数型  
并行线程数整数型  
现行线程数整数型  
Server_IP地址文本型  

子程序名返回值类型公开备 注
_采集数据显示窗口1_创建完毕  
变量名类 型静态数组备 注
InserSqlTxt文本型 
配置文件名文本型 
节名数组文本型0
局部计次变量整数型 
采集数据显示窗口1.顶边 = _启动窗口.顶边
采集数据显示窗口1.左边 = _启动窗口.左边 + _启动窗口.宽度 + 15
' 配置文件名 = 取运行目录 () + “\IPC.ini”
. ' 如果真 (文件是否存在 (配置文件名))
' 写配置项 (配置文件名, “服务器地址”, “IPC地址”, “166.68.23.131”)
. ' 如果 (文件是否存在 (配置文件名))
' 节名数组 = 取配置节名 (配置文件名)
. ' 计次循环首 (取数组成员数 (节名数组), 局部计次变量)
. ' 如果真 (节名数组 [局部计次变量] = “服务器地址”)
' Server_IP地址 = 读配置项 (配置文件名, 节名数组 [局部计次变量], “IPC地址”, )
' 跳出循环 ()

. ' 计次循环尾 ()


全局超时 = 1000
并行线程数 = 10
启动线程 (&判断是否与互联网有连接子程序1, , )
取系统信息后在编辑框显示子程序1 (操作系统名称, 计算机名称)
编辑框1.内容 = “大厅单位名称: ” + 大厅单位名称 + #换行符“使用人名称: ” + 使用人名称 + #换行符“计算机名称: ” + 计算机名称 + #换行符“操作系统版本: ” + 操作系统名称 + #换行符“============================================”#换行符  ' + “IP地址:” + IP地址 + #换行符 + “子网掩码:” + 子网掩码 + #换行符 + “MAC地址:” + MAC地址 + #换行符 + “内存信息:” + 内存信息 + #换行符 + “CPU信息:” + CPU信息 + #换行符 + “硬盘大小信息:” + 硬盘大小信息 + #换行符
取网卡信息子程序2 (连接名称, IP地址, 子网掩码, 网关地址, MAC地址, 编辑框1)  ' 连接名称S=连接名称  IP地址S=IP地址 子网掩码S=子网掩码 网卡网关S=网关地址 MAC地址S=MAC地址 编辑框=编辑框
' InserSqlTxt = “INSERT INTO [PCNETInfotest](大厅名称,处室名称,使用人名称,计算机名称,操作系统名称,网卡名称描述,IP地址,子网掩码,网关地址,MAC地址,内存信息,CPU信息,硬盘型号信息,所在网络区域,是否与互联网连接) VALUES (” + “'” + 大厅单位名称 + “','” + 处室名称 + “','” + 使用人名称 + “','” + 计算机名称 + “','” + 操作系统名称 + “','” + 连接名称 + “','” + IP地址 + “','” + 子网掩码 + “','” + 网关地址 + “','” + MAC地址 + “','” + 内存信息 + “','” + CPU信息 + “','” + 硬盘型号全局变量 + “','” + 所在网络区域 + “','” + 是否与互联网连接 + “')”
' 调试输出 (InserSqlTxt)
' 输出调试文本 (InserSqlTxt)
' ’查询数据记录是否唯一子程序 (记录集是否存在标志位, IP地址, MAC地址)
' 窗口_注册窗口热键 (采集数据显示窗口1.取窗口句柄 (), #MOD_CONTROL#,#W键, 1, _生成Execl_被选择 (), )
' 窗口_注册窗口热键 (采集数据显示窗口1.取窗口句柄 (), #MOD_CONTROL, #W键, 0, _生成Execl_被选择 (), )
' 窗口_监视热键_注册 (&响应监视事件)
' 注册热键 (采集数据显示窗口1.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F6键)
子程序名返回值类型公开备 注
_退出按钮_被选择  
结束 ()
子程序名返回值类型公开备 注
_重填信息_被选择  
采集数据显示窗口1.销毁 ()
子程序名返回值类型公开备 注
_服务器连接_被选择  
变量名类 型静态数组备 注
类_ODBC连接数据库局类_ODBC数据库 
如果真 (Server_IP地址 = “”)
信息框 (“请先在操作菜单的子菜单选择所在区域里选择网络所在区域,然后再进行操作”, 0, , )
返回 ()
如果 (CK_类_ODBC连接数据库.连接SQLServer (Server_IP地址, “数据库名称”, “用户名称”, “用户密码”))  ' 自己定义数据库名称、用户名和密码,这只是例子
编辑框2.内容 = “数据库服务器连接成功!”
服务器连接.选中 = 真
上传数据.禁止 = 假
服务器连接.选中 = 假
上传数据.禁止 = 真
编辑框2.内容 = “数据库服务器连接失败或者已断开连接!”

子程序名返回值类型公开备 注
_选择所在网络区域_被选择  

子程序名返回值类型公开备 注
_上传数据_被选择  
变量名类 型静态数组备 注
Ins_SQL文本型 
数据库内已经有的数据记录数整数型 
如果真 (Server_IP地址 = “”)
信息框 (“请先在操作菜单的子菜单选择所在区域里选择网络所在区域,然后再进行操作”, 48, , )
返回 ()
Ins_SQL = “INSERT INTO [PCNETInfotest](大厅名称,处室名称,使用人名称,计算机名称,操作系统名称,网卡名称描述,IP地址,子网掩码,网关地址,MAC地址,内存信息,CPU信息,硬盘型号信息,所在网络区域,是否与互联网连接) VALUES (”“'” + 大厅单位名称 + “','” + 处室名称 + “','” + 使用人名称 + “','” + 计算机名称 + “','” + 操作系统名称 + “','” + 连接名称 + “','” + IP地址 + “','” + 子网掩码 + “','” + 网关地址 + “','” + MAC地址 + “','” + 内存信息 + “','” + CPU信息 + “','” + 硬盘型号全局变量 + “','” + 所在网络区域 + “','” + 是否与互联网连接 + “')”
' 调试输出 (Ins_SQL)
数据库内已经有的数据记录数 = CK_类_ODBC连接数据库.取记录数 (“XXX表名称”, “where IP地址='” + IP地址 + “' and MAC地址='” + MAC地址 + “'”)  ' 条件查询数据库内已有的记录数
' 数据库有MAC但是IP地址不同
如果 (数据库内已经有的数据记录数 ≥ 1)  ' 如果已经有IP和MAC存在与数据库里,则提示已有!且不入库
信息框 (“该计算机的数据已经存在,请不要重复录入登记!”, 48, , )
返回 ()
如果真 (CK_类_ODBC连接数据库.执行SQL (Ins_SQL, ))
编辑框2.内容 = “计算机信息采集上传成功!”
如果真 (CK_类_ODBC连接数据库.关闭 ())
服务器连接.选中 = 取反 (服务器连接.选中)
服务器连接.禁止 = 真
上传数据.禁止 = 取反 (上传数据.禁止)
退出按钮.禁止 = 假



子程序名返回值类型公开备 注
_采集数据显示窗口1_鼠标右键被放开逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
采集数据显示窗口1.弹出菜单 (生成Execl, , )
子程序名返回值类型公开备 注
_生成Execl子菜单_被选择  
变量名类 型静态数组备 注
局类_E数据连接_ODBC类类_ODBC数据库 
循环计数变量_取字段数量整数型 
行数循环计次变量E整数型 
记录集句柄01整数型 
CXsqltxt文本型 
数据库字段数01整数型 
数据库记录行数01整数型 
列数01整数型 
行数01整数型 
列数循环计次变量E整数型 
ExeclExcelWrite 
计次变量整数型 
高级表格1.表头列数 = 0
如果真 (Server_IP地址 = “”)
信息框 (“请先在操作菜单的子菜单选择所在区域里选择网络所在区域,然后再进行操作”, 48, , )
返回 ()
如果 (局类_E数据连接_ODBC类.连接SQLServer (Server_IP地址, “数据库名称”, “用户名称”, “用户密码”))  ' 自己定义数据库名称、用户名和密码,这只是例子
CXsqltxt = “select * from PCNETInfotest”
记录集句柄01 = 局类_E数据连接_ODBC类.查询 (CXsqltxt, )
列数01 = 局类_E数据连接_ODBC类.取字段数 (记录集句柄01)
行数01 = 局类_E数据连接_ODBC类.取记录数 (“表名称”, )  ' 局类_E数据连接_ODBC类.取记录数 (“表名称”, where 字段=‘某条件值’)
高级表格1.列数 = 列数01 - 1
高级表格1.行数 = 行数01
计次循环首 (列数01, 循环计数变量_取字段数量)  ' 循环置表头开始
高级表格1.置数据 (0, 循环计数变量_取字段数量 - 1, 1, 局类_E数据连接_ODBC类.取字段名 (记录集句柄01, 循环计数变量_取字段数量))
计次循环尾 ()  ' 循环置表头结束。
局类_E数据连接_ODBC类.到首记录 (记录集句柄01)
计次循环首 (行数01, 行数循环计次变量E)
高级表格1.行数 = 行数循环计次变量E + 1
计次循环首 (列数01, 列数循环计次变量E)
' 高级表格1.列数 = 列数01 - 1
高级表格1.置数据 (行数循环计次变量E, 列数循环计次变量E - 1, 1, 局类_E数据连接_ODBC类.读文本 (记录集句柄01, 列数循环计次变量E))
计次循环尾 ()
局类_E数据连接_ODBC类.到下一条 (记录集句柄01)
计次循环尾 ()
通用对话框1.初始目录 = 取当前目录 ()
通用对话框1.文件名 = “计算机IP及网卡信息统计表_统计日期为”到文本 (取现行时间 ())
如果真 (通用对话框1.打开 ())
返回 ()
Execl.打开 (通用对话框1.文件名)
计次循环首 (高级表格1.行数, 行数01)
计次循环首 (高级表格1.列数, 列数01)
Execl.写文本 (行数01, 列数01, 高级表格1.取数据 (行数01 - 1, 列数01 - 1))
计次循环尾 ()
计次循环尾 ()
Execl.关闭保存 ()
信息框 (“导出excel文件完成!”, 64, “导出成功”, )
' 调试输出 (到文本 (高级表格1.行数) + “行”, 到文本 (高级表格1.列数) + “列”)

局类_E数据连接_ODBC类.关闭 ()

子程序名返回值类型公开备 注
_采集数据显示窗口1_窗口可否被关闭逻辑型 
CK_类_ODBC连接数据库.关闭 ()
子程序名返回值类型公开备 注
_某区01网络区域_被选择  
某区01网络区域.选中 = 真
某区02内网网络区域.选中 = 假
某区03网络区域.选中 = 假
互联网接入网络区域.选中 = 假
服务器连接.禁止 = 假
所在网络区域 = “某区01网络区域”
Server_IP地址 = “192.168.4.131”
子程序名返回值类型公开备 注
_某区02内网网络区域_被选择  
某区01网络区域.选中 = 假
某区02内网网络区域.选中 = 真
某区03网络区域.选中 = 假
互联网接入网络区域.选中 = 假
服务器连接.禁止 = 假
互联网接入区10地址段.选中 = 假
所在网络区域 = “某区02内网网络区域”
Server_IP地址 = “192.168.5.131”
子程序名返回值类型公开备 注
_某区03网络区域_被选择  
某区01网络区域.选中 = 假
某区02内网网络区域.选中 = 假
某区03网络区域.选中 = 真
互联网接入网络区域.选中 = 假
服务器连接.禁止 = 假
互联网接入区10地址段.选中 = 假
所在网络区域 = “某区03网络区域”
Server_IP地址 = “192.168.2.1”
子程序名返回值类型公开备 注
_互联网接入网络区域_被选择  
某区01网络区域.选中 = 假
某区02内网网络区域


i支持库列表   支持库注释   
EThread多线程支持库
eGrid高级表格支持库
spec特殊功能支持库





Getsysteminfo开源.e

1.36 MB, 下载次数: 29, 下载积分: 精币 -2 枚


签到天数: 1 天

发表于 2023-9-16 12:44:48 | 显示全部楼层   陕西省安康市
看一看是什么,正需要
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)

签到天数: 7 天

发表于 2023-9-5 03:03:55 | 显示全部楼层   四川省乐山市
谢谢大佬!刚刚需要
回复 支持 反对

使用道具 举报

发表于 2023-6-20 17:17:21 | 显示全部楼层   山东省菏泽市
#在这里快速回复#11111111111111111111
回复 支持 反对

使用道具 举报

发表于 2023-5-20 22:45:24 | 显示全部楼层   浙江省杭州市
厉害 ~~正想找一个 谢谢分享
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 1 天

发表于 2023-4-30 22:29:44 | 显示全部楼层   河南省驻马店市
看一看是什么,正需要
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 11 天

发表于 2023-1-21 16:17:12 | 显示全部楼层   湖南省娄底市

开源必顶,支持一下。
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 12 天

发表于 2022-12-18 16:34:46 | 显示全部楼层   广东省汕头市
开源必顶,支持一下。
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)

签到天数: 8 天

发表于 2022-12-2 08:04:31 | 显示全部楼层   江西省南昌市
55555555555555555555555555
回复 支持 反对

使用道具 举报

发表于 2022-11-21 15:28:19 | 显示全部楼层   河南省开封市
dddddddddddddddd
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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