D6 + Access2000:我做的一个简单的报表程序,在我的机器上一切正常,可是换了台机器,一插入数据,就说“ Table is read only”,为什

  • 主题发起人 主题发起人 lixx
  • 开始时间 开始时间
L

lixx

Unregistered / Unconfirmed
GUEST, unregistred user!
D6 + Access2000:我做的一个简单的报表程序,在我的机器上一切正常,可是换了台机器,一插入数据,就说“ Table is read only”,为什么? (20分)<br />我做的一个简单的报表程序,在我的机器上一切正常,可是换了台机器,一插入数据,
就说“ Table is read only”,为什么?


在另外一台机器上,我在安装D6时,选择 office 时,选了office97,后来实际装的是office2000,
跟这有关系吗?如果有该怎么办?(不会再装一遍 D6吧?)
 
你看看你的数据库文件的属性是不是只读的,我以前有一次就是这样的
 
文件不是,这个我首先看了。
 
应该不是什么Office97的问题
最可能的就是数据库文件只读,但你说不是。
你用SQL Explorer访问那个数据库文件,试试,看看怎么样,可不可以增加?
 
一切都是从我的机器上拷贝过去的,在我机器上时,一切正常,可是到那台机器上就不行了!
可以查询,但就是不能插入数据!
我确保数据库文件不是只读的,绝对不是的!I Swear!
 
升级 JET 4.0 的驱动?
 
怎么升级?
重装Delphi6和Office2000?
 
我有一个问题,你的数据库调用组件是不是有些属性是在电脑里面随机修改的,这样
的情况下,就会出现组件的情况自动变化。你可以把源程序帖出来,大家看一下。
 
》在电脑里面随机修改的
是什么意思?

我只是修改了 Query的RequestLive属性,其余都采用默认值

源程序中是普通的 query 插入和查询,应该不会有什么错误的。
 
把你的所有数据库控件的 Active改为FALSE,用到时再打开,用完关掉,这样就行了
 
先看一下连接数据库的驱动版本是否有问题,若版本太低,也可能出现只读,此时只要升级一下
ado,jet的版本,还有,access文件是在access97还是2000下生成的?如果生成的版本不对
可能会出现类似情况。
在Query中是否加了一些产生只读结果集合的语句,比如order by 等等或者是多表查询?
或者系统中是否打开了这个数据库,如果是,也有可能让现在的操作变成只读。
 
看看链接属性的访问权限
 
你是不是用刻录光盘复制的数据库文件?
如果这样,就会变成只读的。
 

Similar threads

S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部