asp如何实现动态连接数据库conn

MiSenIn 2016-04-18 11:47:59
我有100个数据库,ACCESS的。
根据输入参数1,,2,3,,,,100,来判断连接哪个数据库
输入1,就连接数据库1,输入2就连接数据库2


Function GetConn(nnn)
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath("db/"&nnn&".mdb")
MyConn.Open MyConnStr
GetConn=MyConn
End Function

a=2

OkConn=GetConn(a)



这样搞出来的OkConn,我发现只能查询,如

Set Rs=Server.CreateObject("adodb.recordset")
Rs.open sql,OkConn,1,1

而不能执行语句,如

sql="update [biao] set ziduan=1 where ID=123"
OkConn.execute(sql)


请教下,如何实现啊? 我要执行execute。而我目前的情况,确实是要动态构造conn的。
...全文
188 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinolover 2016-04-19
  • 打赏
  • 举报
回复
另外,okConn应该显性声明
hookee 2016-04-19
  • 打赏
  • 举报
回复
1 函数返回对象要用 Set Set GetConn = MyConn 2 只要动态构造连接串就行了,不要去构造连接本身。 用到连接时再去创建,用完及时关闭。
sinolover 2016-04-19
  • 打赏
  • 举报
回复
引用 3 楼 MiSenIn的回复:
谢谢两位。 原来 2个地方都要set

Function GetConn(nnn)
    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath("db/"&nnn&".mdb")
    MyConn.Open MyConnStr
    Set GetConn=MyConn   '这里set
End Function
 
a=2 
Set OkConn=GetConn(a)  '这里set
另外我想问, 这样的话,等于创建了2个Conn呢?还是 OkConn只是指针,指向MyConn ?
vb不支持指针的。这里是创建了多个,但是出函数后,被销毁了。除非定义为全局
MiSenIn 2016-04-19
  • 打赏
  • 举报
回复
谢谢两位。 原来 2个地方都要set

Function GetConn(nnn)
    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath("db/"&nnn&".mdb")
    MyConn.Open MyConnStr
    Set GetConn=MyConn   '这里set
End Function
 
a=2 
Set OkConn=GetConn(a)  '这里set
另外我想问, 这样的话,等于创建了2个Conn呢?还是 OkConn只是指针,指向MyConn ?

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧