shirlincn 发表于 2008-11-6 11:15:22

在用http/web录制的脚本中使用vbs对数据库操作

在lr中对数据库进行操作蛮麻烦的,特别是对c不熟悉的,于是做了个dll,实现了在c中可以执行vb的脚本
在lr中load:
int n;
lr_load_dll("D:\\test\\ksscript.dll");
n = ExecuteScript("D:\\test\\default.vbs", "input", "output");
然后在default.vbs中写需要操作的脚本
Function ExecuteFunction( strInput, strOutput )
    RunSQL("update test set account_type=0 where user_id='username'")
   'RunSQL("insert into test(user_id,account_type) values('testrunsql',0)")
   'RunSQL("delete from test where user_id='testrunsql'")
    ExecuteFunction = 1
End Function
Public Function RunSQL(strSQL)
    Dim Cmd         
    Set Cmd = createobject("ADODB.Command")
    Cmd.ActiveConnection="Driver={Microsoft ODBC for Oracle};Server=TESTDB;Uid=test;Pwd=test;"
    Cmd.CommandType = 1
    Cmd.CommandText = strSQL
    Cmd.Execute()
    Set Cmd.ActiveConnection = nothing
    Set Cmd= Nothing
End Function
然后就可以方便的操作数据库了
因为http/web录制的脚本只能是c,我打算再更新增强下功能,这样熟悉vbs,不熟悉c的朋友也能轻松在lr中编写代码了,不知道大家有没有这样的需求呢?

目前只测了对数据库的insert,update,delete,可以成功,有兴趣的可以下了玩玩:loveliness:

[ 本帖最后由 shirlincn 于 2008-11-7 16:21 编辑 ]

fish_yy 发表于 2008-11-6 11:25:28

没看出来ExecuteFunction的两个参数有什么用?

shirlincn 发表于 2008-11-6 11:40:18

回复 2# 的帖子

那是准备留着扩展的,用于输入输出参数,在操作数据库的功能中暂时没有用到,我就是看看,如果有这样的需求就增强一下,没有人用的话我就自己玩玩好了:lol

fish_yy 发表于 2008-11-6 12:05:46

:) ,挺有创意的,挺好!

lingxdbc 发表于 2008-11-6 14:04:39

ksscript.dll里的代码是怎么写的呢?

shirlincn 发表于 2008-11-6 15:35:53

回复 5# 的帖子

那个可有点小复杂了........:loveliness: 等我完善一下共享出来:victory:

lingxdbc 发表于 2008-11-6 15:45:34

呵呵,这个dll才见水平呀~ 期待ing

shirlincn 发表于 2008-11-7 16:22:50

我就测了对数据库的insert,update,delete,可以成功,如果想到有其他需求可以再试

wgw1230 发表于 2009-4-9 09:26:01

楼主很强大
页: [1]
查看完整版本: 在用http/web录制的脚本中使用vbs对数据库操作