51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2349|回复: 5
打印 上一主题 下一主题

[原创] 连接数据库的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-2 21:40:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在expert view模式中输入的代码,请各位检查一下,我代码是否正确,谢谢!   注: 数据库为SQL Server 2005

Dim res, ,sql

set con=createobject("adodb.connection")
Set res=createobject("adodb.recordset")

con.open "Description=IBM_ODBC;DRIVER=SQL Server;SERVER=IBM;UID=sa;WD=sa;APP=Quick Test Pro;WSID=IBM;DATABASE=IBM_table"

'Description代表什么? 对于DRIVER,上面写的是SQL Server,是不是也可以写SQL Server 2005,或者Microsoft SQL Server 2005,具体代表什么? SERVER应该是服务器的机器名吧, 在实际中,APP等于什么? WSID又代表什么 ?sql="select  name from address_list t where name ="&xname&" "
'name ="&xname&" "中的&xname&,是否只需左边的&,还是两边都要.

res.Open sql, conn, 1, 1
'conn起什么作用,"1,1"又代表什么,"2,2"又是什么.

i = 0
'读取Excel表格时,自动从第二行开始读起,将第一行作为Title
While Not res.EOF
' res.EOF是什么意思
i = i + 1
Print "LINE " & CStr(i) & " : " & res.Fields(0).Value & " " & res.Fields(1).Value
rst.MoveNext
Wend

con.close
Set con = nothing
Set res = nothing




另一种方法:

Dim res,cmd,sql

Set cmd=createobject("adodb.command")
Set res=createobject("adodb.recordset")

Cmd.activec

'Provider表示什么,Persist Security Info又代表什么,还有Initial Catalog是什么

Cmd.activec   '在运行时提示该语句错误,不知道是什么原因.Cmd.CommandType = 1
sql="select  name from address_list t where name ="&xname&" "
Cmd.CommandText = sql
Set res = Cmd.Execute()   
MsgBox res(0)
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
Set res = nothing






在建立数据检查点时手动输入的数据库连接字符串,在连接数据库时提示:登录失败(IP,用户名和密码肯定正确).


DRIVER=SQL Server;SERVER=172.16.3.220;UID=sa;WD=sa;APP=Microsoft Office 2003;WSID=本地机器名;DATABASE=数据库名;

'哪里有问题的话,请指点.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-4-3 10:26:51 | 只看该作者
conn改为con
WD改为PWD
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-3 19:20:43 | 只看该作者
多谢, 我试试去.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-3 22:17:00 | 只看该作者

以下语句有问题,请指点,谢谢

Dim res,cmd,sql
Set cmd=createobject("adodb.command")
Set res=createobject("adodb.recordset")

res.activec

'上面的语句运行时提示语法错误
Cmd.activec   '在运行时提示该语句语法错误.
Cmd.CommandType = 1
sql="select  name from address_list t where name ="&xname&" "
Cmd.CommandText = sql
Set res = Cmd.Execute()   
MsgBox res(0)
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
Set res = nothing

[ 本帖最后由 happy058 于 2008-4-3 22:31 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-4-3 22:33:16 | 只看该作者
少了一句:

res.activeconnection="provider=SQLODBC;User ID=saassword=sa;Data Source=172.16.3.225;Initial Catalog=test;persist Security Info=True"

但不知怎么回事,我一将代码粘进去,显示就看不到了,这是不是问题啊
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-26 14:51:12 | 只看该作者
有人能说说happy058的问题吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-3 04:49 , Processed in 0.077598 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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