社区
数据库相关
帖子详情
我用ADO连接,用DBGrid打开EXCEL时,在工作区里可以打开,但一执行就出错?
foxmx
2003-03-25 06:04:29
我用ADO连接,用DBGrid打开EXCEL时,在工作区里可以打开,但一执行就出错,说打不开文件,EXCEL已经被别的用户以独占方式打开。请教是什么问题呢?
...全文
115
11
打赏
收藏
我用ADO连接,用DBGrid打开EXCEL时,在工作区里可以打开,但一执行就出错?
我用ADO连接,用DBGrid打开EXCEL时,在工作区里可以打开,但一执行就出错,说打不开文件,EXCEL已经被别的用户以独占方式打开。请教是什么问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
foxmx
2003-04-09
打赏
举报
回复
谢谢各位!!!111
y81920
2003-04-08
打赏
举报
回复
只能以共享方式打开!
kingecg
2003-04-08
打赏
举报
回复
如果在程序中已经打开excel文件,你在程序外再打开的话就会得到不能访问的提示
kingecg
2003-04-08
打赏
举报
回复
注意adoconnection的connected属性,如果把它设为true在运行时会报excel文件被一独占方式打开的错误。设为false就好了
huzais
2003-04-08
打赏
举报
回复
李维的书上有这么一段话:
如上我所说操作了之后:
现在让我们编译这个范例应用程序,然后关闭D e l p h i集成开发环境中的这个范
例应用程序项目,再使用Wi n d o w s资源管理器来执行这个范例应用程序。图3 - 3 0便
是范例应用程序执行的画面。从画面中可以看到,范例应用程序可以通过A D O从
E x c e l文档中读取所有的数据。
huzais
2003-04-08
打赏
举报
回复
没有原码的呀!
我就是在一个Form上面放了一个AdoDataSet、DBGrid和DataSource然后设置他们连接。
AdoDataSet的属性,然后Active:=True,成功,没有问题,但是运行的时候就出了问题!
我是根据以下说明做的:
在DELPHI中使用ADO直接访问Excel数据文件
李战
摘 要:在DELPHI中使用ADO直接访问Excel数据文件
关键字:ADO Excel
类 别:数据库
承蒙各位大鱼大虾的支持,终于顿悟。现在将心经写下来,让后来者提高修成正果的效率,早日成为大鱼大虾。
要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想
象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表
的列了。然后,按照下列面的秘诀进行就可以。
1.设置ADOConnection的ConnectionString
构造ConnectionString时,OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider作为ADO的驱动程序。
这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。
连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*.xls,而不是*.mdb。
最关键的一点是,还要设置扩展属性Extended Properties为“Excel 8.0”,否则,测试连接时会报告无法
识别数据格式的错误。Extended Properties的属性值在“所有”参数页中输入。
最后,设置完成后的ConnectionString中的各项参数为:
Provider=Microsoft.Jet.OLEDB.4.0
Data Source=MyExcelFile.xls
Extended Properties=Excel 8.0
Persist Security Info=False
2.设置ADODataSet或ADOTable
将ADODataSet或ADOTable连接到刚才的ADOConnection。如果不用ADOConnection,也可以参照上面的方法
直接设置ADODataSet或ADOTable的ConnectionString属性。对于ADODataSet,需要将CommandType属性设置
为cmdTableDirect,而对于ADOTable,则将TableDirect属性设置为True。因为,访问Excel文件是直接的
数据文件访问,不是通过SQL语句来操作游标访问的。如果不设置直接访问,则系统会报告SQL语句格式错
误等信息。
然后,当你下拉ADODataSet中的CommandText属性或ADOTable的TableName属性时,就可以选择到要打开的工
作表了。注意,表名后面多了加一个$符号。
3.打开ADODataSet或ADOTable
kingecg
2003-04-08
打赏
举报
回复
delphi调用office对象用的是ole自动化对象
aloking
2003-04-08
打赏
举报
回复
把excel关掉,用access也有这种问题!
kingecg
2003-04-08
打赏
举报
回复
把原码贴出来!!
另外看看内存中是不是已经存在EXCEL对象
huzais
2003-04-08
打赏
举报
回复
大家怎么对这个问题都不感兴趣呀?
是不是你们在操作的过程中没有遇到这种情况还是没有用ADO访问过Excel呀?
huzais
2003-04-08
打赏
举报
回复
我的也是,怎么没有人回答?
Delphi 访问数据库
这是至关重要的一步,否则 就无法实现对数据库的访问。例如,我们定义一个可访问SQL —Server服务器上zhb数据库的数据源ZHB。首先,选择 SQLServer类型的数据库,进入“O
DB
CSQLServerSetup”窗口。 然后,定义数据源...
基础
各位兄弟,在SDK编程中如果实现窗口分割呢?请问怎么得到一个函数的
执行
时
间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?高分请教如何限制程序运行的方法?求助:通过编程DirectX抓屏-----...
DB
Grid
Eh大全
查看完全版本:
db
grid
应用全书论坛跳转到...╋名狐堂├名狐介绍├名狐讲座╋技术论坛├VFP 论坛├DELPHI├CGI、ASP、JAVA论坛├LINUX 论坛├dot NET论坛├其它语言C,C++,PB,VB╋专题技术├VFP + SQL Server├类的...
Delphi笔记-数据库开发
Delphi笔记-数据库开发 数据集的每一列被称为一个字段,每一行被称为一个记录。 •数据集:是一个分立的数据记录的集合。...它可以被看作是
执行
了特殊命令后所产生的“内存表”,这些命令一般是对物...
VB企业数据信息管理系统的设计与实现
先用一个变量将DAO控件模型的“
DB
Engine.Workspaces(0).OpenDatabase”属性设置到要用的Access数据库中,然后再设置“
db
.OpenRecordset”属性设置到Access数据库中的基础底表中,然后再设置一次“
db
.OpenRecordset”...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章