找回密码
 加入
搜索
查看: 9846|回复: 42

[AU3基础] [己解决]SQL2000操作存储过程!

 火.. [复制链接]
发表于 2014-7-8 19:12:35 | 显示全部楼层 |阅读模式
本帖最后由 cfs43210 于 2014-7-19 08:18 编辑

SQL2000操作存储过程,了解的联系!
发表于 2014-7-8 20:47:19 | 显示全部楼层
回复 1# cfs43210

需要什麼 在這發問 會有人解決的
 楼主| 发表于 2014-7-8 22:28:44 | 显示全部楼层
本帖最后由 cfs43210 于 2014-7-8 22:30 编辑

回复 2# kk_lee69
怎么操作有条件读取数据和写入数据和有条件更新数据等,给个例子操作谢谢!
发表于 2014-7-9 08:58:30 | 显示全部楼层
不是有UDF吗,不知道是不是你需要的
下面是查询SQL数据的示例
#include <MSSQL.au3>
#include <Array.au3>

$IP = "192.168.1.90"; IP地址
$USER = "sa"; 连接帐号
$PASS = "sa"; 连接密码
$DATABASE = "erp_bak"; 数据库名

Example(); 示例

Func Example()
        ; 表名
        $TableName_1 = "test"
        
        ; 连接数据库
        $sqlCon = _MSSQL_Con($IP, $USER, $PASS, $DATABASE)

        ; 在数据库表中获取一个或多个值
        $getrecord = _MSSQL_GetRecord($sqlCon, $TableName_1)
        _ArrayDisplay($getrecord)

        ; 在数据库表中获取所有列,并对指定的结果集进行重新排序
        $getrecord = _MSSQL_GetRecord($sqlCon, $TableName_1, "*", "", "bh")
        _ArrayDisplay($getrecord)
        
        ; 在数据库表中获取指定的列,并对指定的结果集进行重新排序
        $getrecord = _MSSQL_GetRecord($sqlCon, $TableName_1, "ID,bh", "WHere bh = '20140102335'", "ID")
        _ArrayDisplay($getrecord)

        ; 关闭数据库连接
        _MSSQL_End($sqlCon)
EndFunc   ;==>Example
 楼主| 发表于 2014-7-9 11:57:02 | 显示全部楼层
回复 4# fcurrk
谢谢你,我是指操作存储过程.
发表于 2014-7-9 13:04:48 | 显示全部楼层
事务?                                                                                                                                                      .
发表于 2014-7-9 13:05:15 | 显示全部楼层
事务?                                                                                                                                                      .
 楼主| 发表于 2014-7-10 10:00:19 | 显示全部楼层
顶!难道Au3不能操作SQL存储过程?
发表于 2014-7-10 10:52:13 | 显示全部楼层
回复 1# cfs43210


    http://www.autoitx.com/thread-44446-1-1.html    自己写的一点儿东西,希望能帮助到你
 楼主| 发表于 2014-7-10 17:50:18 | 显示全部楼层
回复 9# ak47gglllk
谢谢你,不知道你那有没有操作存储过程。
发表于 2014-7-13 09:24:00 | 显示全部楼层
存储过程,这个没有研究过
发表于 2014-7-13 21:27:42 | 显示全部楼层
没有玩过mssql,不过应该可以,
找找ODBC相关资料,应该是通用的
发表于 2014-7-14 16:04:49 | 显示全部楼层
回复 8# cfs43210

台灣是不是叫做 預存程序  就是 SQL 程式 已經 寫在 資料庫主機上  你 想用 AU3 操作??
 楼主| 发表于 2014-7-15 10:31:58 | 显示全部楼层
应该是吧,因为我远程写入数据,要返回数据是否存在,因为数据量大返回时间过长,想用存储过程操作。
发表于 2014-7-16 01:10:30 | 显示全部楼层
回复 15# cfs43210

一樣的作法  如同 你在 SQL 查詢器 中 所做的一樣
簡單的說

SELECT * FROM  表一   

這樣的語法 你會在查詢器中 使用 可以查出資料吧
如果上面沒問題的話  你就必須要先學
CREATE  PROCEDURE
的語法 來建立預存程序

假設你建立的 程序 叫做 PROGRAM1

執行 只要在 查詢器中
EXEC  PROGRAM1

這樣就會執行 你的預存程序了

再回到 AU3中

使用


$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
sleep(500)
$conn.Open ("driver={SQL Server};server="&$Server&";uid=sa;pwd=chi;database=CHIComp"&$Company&";AnsiNPW=NO;Connect Timeout=300 ");主機名IP127.0.0.1,UID=用戶,PWD=密碼,database=資料庫名 ;App=連線名稱 ;AnsiNPW=NO 表示 不顯示某些錯誤訊息 YES表示內定要顯示 ※
$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要
sleep(500)


這個 語法建立連接後

你要查詢 SELECT * FROM  表一
就是
$RS.open ("SELECT * FROM  表一");
;$ListArray=$conn.Execute ("SELECT ClassID,ClassName FROM comFundStyle").GetRows
While (Not $RS.eof And Not $RS.bof);迴圈讀表
        MsgBox(0, "欄位一", $RS.Fields (0).value,5);顯示第一個欄位 資料 

        $RS.movenext;跳出迴圈
WEnd;結束迴圈讀表
$RS.close;關閉數據分表


所以 你要執行 PROGRAM 1
只要
$conn.Execute("EXEC  PROGRAM1")


就可以啦

不懂得在提出吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-2 10:24 , Processed in 0.078488 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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