VB访问DBF表的问题,为何在VB中释放了rs和cn后,foxpro 的程序还提示数据库被占用!

kelly_leecn 2003-01-20 11:53:04
我的一个用户有两台电脑(联网):一台运行VB写的程序(VB的程序主要是向DBF导入数据);一台运行FOXPRO2.5(DOS)的主程序。
工作流程是这样的,VB写的程序向DBF导入数据后,由FOXPRO的程序来打印这些数据。
我的程序是这样的:
dim Ar()
....
Ar=...
...
dim str as string
dim cn as new adodb.connectiong
dim rs as new adodb.recordset
str="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=CTT;UID=;SourceDB=d:\ctt;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
cn.open str
rs.cursorlocation=aduserclient
rs.open "",cn,3,3
for i=0 to rs.recordcount-1
rs.fields(0)=Ar(1)
rs.fields(2)=Ar(5)
...
rs.movenext
next i
rs.close
set rs=nothing
cn.close
set cn=nothing


现在进入FOXPRO主程序后,FOXPRO的程序提示,数据库被占用,为什么呢?我都已经关闭了呀!请各位帮我!
...全文
37 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelly_leecn 2003-01-21
  • 打赏
  • 举报
回复
不要在数据库表设计状态下进行程序调试。这是什么意思?我的工作流程是先用导数据的程序(VB写的)把需要的数据导入DBF中,再去启动运行foxpro的电脑,结果就提示了数据库被占用的提示!我知道DBF是独占式的,问题是我已经释放了呀(set rs=nothing:set cn=nothing)?
另外值得注意的是:DOS写的foxpro程序不是出现"数据库被占用的提示",吗!但是我用VBF6.0能打开这个DBF表!你们说奇怪吗?给我一个好的建议或Solution!
kelly_leecn 2003-01-21
  • 打赏
  • 举报
回复
帮忙呀!
kelly_leecn 2003-01-20
  • 打赏
  • 举报
回复
是不是这个连接有问题呀,如果是,该如何写呢?
str="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=CTT;UID=;SourceDB=d:\CTT;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Ma

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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