zghwelcome 发表于 2016-4-20 17:00:21

好教程,收藏了

gaoan000 发表于 2016-4-20 17:22:46

回复gaoan000

這兩句 不就等同
$sqlCon = ObjCreate("ADODB.Connection")
$sqlCon.Open("Provider= ...
kk_lee69 发表于 2016-4-20 16:43 http://www.autoitx.com/images/common/back.gif

这样,您可能误解我的意思了,连接语句这个我还是知道,在 连接函数 和 读取数据函数 里面我都没找到创建记录集的语句 "ObjCreate("ADODB.Recordset")" ,我想问下这个语句是不是可以通过别的办法隐式创建?
我前面发的两个函数我单独拿出来可以用,可以读取表格数据显示出来

kk_lee69 发表于 2016-4-20 17:53:56

回复 108# gaoan000

理論上 可以省略
你看看第一次發給我裡面有句
$quer = $oConnectionObj.execute($str)

$oConnectionObj.execute($str)
執行SQL 語句後的東西 設到$quer

$quer 就是個 紀錄集

gaoan000 发表于 2016-4-20 18:27:12

回复gaoan000

理論上 可以省略
你看看第一次發給我裡面有句
$quer = $oConnectionObj.execute($st ...
kk_lee69 发表于 2016-4-20 17:53 http://www.autoitx.com/images/common/back.gif

这样啊,我明白了.真是太谢谢您了

zhaoceshi 发表于 2016-4-24 23:03:59

本帖最后由 zhaoceshi 于 2016-4-24 23:06 编辑

大神,我想要把查询语句返回的结果全部显示出来,该怎么写?#include <GuiListView.au3>
Dim $Server = "." ;SQL主机名称
Dim $ID = "sa" ; 登入数据库主机的账号一般都会用sa
Dim $pw = "123" ;登入数据库主机的密码
Dim $Company = "123" ;数据库名称

$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")

$conn.Open("driver={SQL Server};server=" & $Server & ";uid=" & $ID & ";pwd=" & $pw & ";database=" & $Company) ;主机名IP127.0.0.1,UID=用户,PWD=密码,database=数据库名
$RS.ActiveConnection = $conn ; 设定RS 是 conn 的集合 重要的部份

;标准的 读取数据 循环模式语法
;几乎 所有的查询都只要套用这个模式就可以了......

$RS.open(" SELECT * FROM SendSMSRecord ") ;
;MsgBox(0, "字段一", $RS.Fields(8).value, 5) ;显示第一个字段 资料 ,AU3返回的数据通常 都是不含 原本的 字段名称要取的字段名称需要其它方法
;MsgBox(0, "字段二", $RS) ;显示第二个字段 资料
后面的msgbox只能显示第一行的某个字段

kk_lee69 发表于 2016-4-24 23:07:03

回复 111# zhaoceshi

請問你要寫是在哪邊?? 是畫面上的 LISTVIEW 還是 EDIT 控件 還是甚麼??

還是 彈出 訊息對話框即可

你要先了解你要做甚麼事情

zhaoceshi 发表于 2016-4-24 23:10:37

本帖最后由 zhaoceshi 于 2016-4-24 23:11 编辑

回复 112# kk_lee69

   把SELECT * FROM SendSMSRecord这句查询语句返回的结果显示出来即可,显示方法无所谓,

kk_lee69 发表于 2016-4-24 23:14:28

回复 113# zhaoceshi

注意看這句話
MsgBox(0, "字段一", $RS.Fields(8).value, 5)

假設你的資料表為姓名住址電話

$RS.Fields(0).value表示 資料表的第一個欄位值 (姓名)
$RS.Fields(1).value表示 資料表的第二個欄位值 (住址)
$RS.Fields(3).value   表示資料表的 第三個 欄位值 (電話)

你要顯示再一起 不就

MsgBox(0, "字段一", $RS.Fields(0).value&" "& $RS.Fields(1).value&" "& $RS.Fields(3).value, 5)

Netfox 发表于 2016-4-25 00:41:06

不错的教程

zhaoceshi 发表于 2016-4-25 09:35:39

回复 114# kk_lee69


    这样也只是显示一行吧,如果是多行的呢?

kk_lee69 发表于 2016-4-25 09:49:16

回复 116# zhaoceshi

還有 你改了我的 語法我原本的語法是
;标准的 读取数据 循环模式语法
;几乎 所有的查询都只要套用这个模式就可以了......

$RS.open ("请注意 这里存放的是 刚刚打好的 SQL 语法 ...请注意 前后都有加上 双引号");
While (Not $RS.eof And Not $RS.bof);循环读表 有资料就跑回圈没资料就会跳出
      
      MsgBox(0, "字段一", $RS.Fields (0).value,5);显示第一个字段 资料 ,AU3返回的数据通常 都是不含 原本的 字段名称要取的字段名称需要其它方法
      MsgBox(0, "字段二", $RS.Fields (1).value);显示第二个字段 资料
               
      If StringIsDigit($RS.Fields(1).value)=0 Then   ;这边可以加上判断

      EndIf
               
      $RS.movenext;下一笔资料
WEnd;结束循环读表
$RS.close;关闭数据分表 当使用 RS 查询之后 整个纪录读取完毕后必须要关闭 RS

這個是 有循環的 即使 你的資料筆數 有一千萬筆 他也會循環 一千萬次   你每筆資料都會跑一次 MsgBox

ysping 发表于 2016-9-7 08:17:39

大神,操作oracle数据库也类似吗?

kk_lee69 发表于 2016-9-7 11:43:40

回复 118# ysping


但是oracle 理論上 應該要在ODBC 上裝驅動   只要可以透過 ODBC 的 都可以用上面的方法

hfutxkk 发表于 2016-9-7 23:07:10

不错,学习了,谢谢分享

wanglei303x 发表于 2016-9-21 15:18:45

How can i get five
页: 1 2 3 4 5 6 7 [8] 9 10
查看完整版本: 【原创】AU3 操作SQL 数据库…详细语法、参数…教学 课程(一) MSSQL入门