AU3连接sql数据库源码

au3作为一个比较高级的批处理(或者说自动化)工具,它也支持连接到数据库的,本人目前只试过sql与普通的.mdb数据库。

下面给出au3连接sql数据库的源码,本例环境为IP地址为192.168.1.200服务器上的sql数据库,数据库名称为school。AU3可以实现远程连接数据库。

数据库用户名:sa ? 密码为空

sql语句为查找数据库school中studentinfo表中cardno=g2.010的学生的信息

将school数据库中studentinfo表中cardno=g2.010的grade列更新为96

        $cardno='g2.010'
        $server = "192.168.1.200"
	$user = "sa" ;数据库用户名sa
	$pwd = ""    ;用户密码为空
	$dbs = "school"  ;数据库名称为school
	$conn = ObjCreate("ADODB.Connection")
	$RS = ObjCreate("ADODB.Recordset")

	$conn.Open("driver={SQL Server};server=" & $server & ";uid=" & $user & ";pwd=" & $pwd & ";database=" & $dbs) ;主机名IP192.168.1.200,UID=用户,PWD=密码,database=数据库名
	
	$RS.ActiveConnection = $conn ; 设定RS 是 conn 的集合 重要的部份
	
        ;sql语句     查询语句就使用$rs.open("这里写具体的sql语句跟在sql查询分析器里面的写法差不多")
        ;sql语句
        ;$RS.open("select name,class from studentinfo where cardno='" & $cardno &"'")
        $name = $RS.Fields(0).value   ;接收sql返回的第一个name结果
        $class = $RS.Fields(1).value   ;接收sql返回的第一个class结果
        $RS.close  ;查询语句写完后记得关闭查询连接
        msgbox(0,"sql查询结果","学生姓名:"& $name &"  学生班级:"&$class)
   
        $conn.Execute("update studentinfo set grade=96 where cardno='" & $cardno & "'")       ;将school数据库中studentinfo表中cardno=g2.010的grade列更新为96

       $conn.Execute("update studentinfo set grade=60 where grade<60")
       ;所有的update更新操作写法都如同上面的句子(将分数grade小于60的全部更新为60分)

       ;$conn.Execute语句可以写多条
       $conn.close  ;这个最后别忘记了


        $conn.close; 执行完sql语句后,最后一步记得关闭数据库连接。

在au3中$RS.open多用于有返回值的sql语句。而$conn.Execute则一般用于没有返回值的情况,也可以用来调用存储过程。

在au3中写sql语句时如果语句中有变量(比如本例中的$cardno),需要注意字符型的变量需要在变量前后加单引号符号——? ??‘’

下面是两种写法,如果引号用的不对可能会报错哦,反正注意下就好了。

假如在AU3程序前面定义$cardno='g2.010' ?那么就该用下面语句中上面的那个

假如在AU3程序前面定义$cardno="'g2.010'” ?那么就该用下面语句中下面的那个

;$RS.open("select name,class from studentinfo where cardno='" & $cardno &"'")
;$RS.open("select name,class from studentinfo where cardno=" & $cardno)

 

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/au3连接数据库源码/

赞赏

微信赞赏支付宝赞赏

发表评论