找回密码
 加入
搜索
查看: 3666|回复: 12

[AU3基础] 请问怎么定义文中list中"cpqpn"栏位为变量,或者怎么导入到文本中?

[复制链接]
发表于 2012-7-9 19:58:24 | 显示全部楼层 |阅读模式
如图中,怎么样才能把"cpqpn"这一列设为变量,因为我需要去与服务器中的odm.txt的文件中去做比对, 看是否服务器的odm.txt是否存在这些字串(L3-XXXXX-XXX, 或者H3-XXXXX-XXX), 我实在是不知道如何下手了! 请高手们赐教呀!
#include <String.au3>

#Include <Array.au3>

;~ 要操作数据库,第一件事就是必须连接上数据库,连接MsSql可以使用Ado,AU3提供了函数ObjCreate来创建Com指定对象

;~ 具体如何操作看实例

$Err = ObjEvent("AutoIt.Error", "ODBCJET_ErroHandler") ;定义一个函数ODBCJET_ErroHandler收集对象的错误

 

Dim $sServer = '10.99.106.187', $sUsername = 'sa', $sPassword = 'sa' ;三个变量分别是连接数据库用的地址、账号、密码

$Conn = ObjCreate("ADODB.Connection");首先要建立ADODB.Connection类

$Conn.open("DRIVER={SQL Server};SERVER=" & $sServer & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";");使用open方法连接数据库

If @error Then Exit

;如果程序没有退出,说明成功连接上了数据库

 

;连接成功后我们来读取数据

$Conn.Execute("use PCA_DB") ;首先要指定一个需要操作的库,这里用系统自带的master库来操作

$RS = ObjCreate("ADODB.Recordset");创建记录集对象

$RS.ActiveConnection = $conn;设置记录集的激活链接属性来自$Conn

$RS.Open("SELECT cpqpn,model,family,fis_code FROM PCA_MODEL WHERE (Company = 'LSI') AND (Udt > GETDATE() - 15)");执行Sql语句,这个语句是查询数据库中所有的库属性,并且按Name字段的数据进行排序

;$RS.Open("SELECT * FROM PCA_MODEL WHERE (Company = 'F1') AND (Udt > GETDATE() - 15)");执行Sql语句,这个语句是查询数据库中所有的库属性,并且按Name字段的数据进行排序

Dim $Select_Db[1][1] = [[0]];定义一个数组来接收查询到的数据

Dim $Count = 1;定义一个变量用来记录查询到的数据行数

While Not $RS.eof And Not $RS.bof;当记录指针处于第一条记录和最后一条记录之间时,执行while循环

        If @error = 1 Then ExitLoop

        If $Select_Db[0][0] = 0 Then;当数组二维$Select_Db[0][0]为0时,重定义数组的第二维大小等于记录集查询到的字段数

                ReDim $Select_Db[1][$RS.Fields.Count + 1];$RS.Fields.Count为记录集查询到的字段数

                For $i = 0 To $RS.Fields.Count - 1

                        $Select_Db[0][$i + 1] = $RS.Fields($i).Name;$RS.Fields($i).Name为字段名,把字段名存入数组

                Next

        EndIf

        ReDim $Select_Db[$Count + 1][$RS.Fields.Count + 1];数组第一维大小加1,用于存放数据

        $Select_Db[0][0] = $Count;$Select_Db[0][0]存放查询到的数据行数

        For $i = 0 To $RS.Fields.Count - 1

                $Select_Db[$Count][$i + 1] = $RS.Fields($i).Value;$RS.Fields($i).Value字段数据

        Next

        $Count += 1;行数加1

        $RS.movenext;将记录指针从当前的位置向下移一行

WEnd

$RS.Close;关闭记录集对象

$vaule = _ArrayDisplay($Select_Db, "数据库查询结果");显示数组

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2012-7-9 20:42:59 | 显示全部楼层
高手救火呀!
发表于 2012-7-9 21:49:59 | 显示全部楼层
#include <GuiListView.au3>

For $i = 1 To  _GUICtrlListView_GetItemCount($hListView)-1 
        $cpqpn = _GUICtrlListView_GetItemText($hListView, $i, 2)  ;取得那cpqpn一列的内容
        ...   ;比较去吧
        ...   
Next
发表于 2012-7-9 21:57:37 | 显示全部楼层
本来就已经存放在数组变量$Select_Db内了
发表于 2012-7-9 22:16:39 | 显示全部楼层

评分

参与人数 1贡献 -5 收起 理由
user3000 -5 纯表情刷楼的后果!

查看全部评分

发表于 2012-7-9 22:16:50 | 显示全部楼层

评分

参与人数 1贡献 -5 收起 理由
user3000 -5 纯表情刷楼的后果!

查看全部评分

发表于 2012-7-9 22:16:57 | 显示全部楼层
发表于 2012-7-9 22:17:04 | 显示全部楼层

评分

参与人数 1金钱 -10 收起 理由
user3000 -10

查看全部评分

发表于 2012-7-9 22:17:12 | 显示全部楼层

评分

参与人数 1金钱 -20 收起 理由
user3000 -20

查看全部评分

发表于 2012-7-9 22:17:20 | 显示全部楼层

评分

参与人数 1金钱 -20 收起 理由
user3000 -20 纯表情刷楼的后果!

查看全部评分

发表于 2012-7-9 22:17:29 | 显示全部楼层

评分

参与人数 1金钱 -20 收起 理由
user3000 -20 纯表情刷楼的后果!

查看全部评分

发表于 2012-7-9 22:17:46 | 显示全部楼层

评分

参与人数 2金钱 -70 收起 理由
afan -50
user3000 -20 纯表情刷楼的后果!

查看全部评分

 楼主| 发表于 2012-7-10 06:42:09 | 显示全部楼层
围观的人真多..呵...感谢xms77兄台. 去公司再试试! Thank you.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 21:25 , Processed in 0.115242 second(s), 35 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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