Query使用出现的这个错误:"Cannot modify a read-only dataset",怎么解决?(高分)

linzhisong 2002-06-17 03:46:11
database连接ODBC,用access作为数据库,数据库是本地的

Query1在整个程序中这样使用:

1:用query1 查询,读出数据,然后关掉 (对Nation表操作)

2:用updata语句更新表,用 Query1.execsql 运行 ,关闭(对Temp 表操作)

3:query1查询,读出数据,关闭(对Major表操作)

4:query1执行的语句:select * from Temp where major='计算机' order by

sex,left(address,2). query1.open以后就不能对query1进行数据的添加,修改,

显示这样的错误:'cannot modify a read-only dataset'

是不是数据库表反复调用出现的问题?

该怎么解决? 多谢了! 分要多少好说!
...全文
2185 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
linzhisong 2002-06-23
  • 打赏
  • 举报
回复
还是没有更新过来,不过我把数据移动了。所以可以。

谢谢大家!
linzhisong 2002-06-18
  • 打赏
  • 举报
回复
加requestlive也是不行,没有办法更新,

更新是出错,用updatesql可以先模拟更新,

到最后applyupdate是出现错误!
linzhisong 2002-06-18
  • 打赏
  • 举报
回复
加requestlive也是不行,没有办法更新,

更新是出错,用updatesql可以先模拟更新,

到最后applyupdate是出现错误!
DelUser 2002-06-18
  • 打赏
  • 举报
回复
不需要加UpdateSQL,
只要将你的Query1的RequestLive属性设为True即可!
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
出现错误,update faile
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
我用那个更新的时候会出现某些字段是未知type 这个怎么回事?
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
有进展了!

谢谢 lanbada(lanbada)
lanbada 2002-06-17
  • 打赏
  • 举报
回复
这样吧:
1)你放个TQUDATESQL 在窗口上
2)将QUERY 的(CahceUpdates 要设置成 True;)
3)将QUERY 的(requestLive设置成 True;)
4)将QUERY 的最后个属性 UPDATEOBJECT设为那个TQUDATESQL
此时你的QUERY.EDIT已不会出错了
运行下


再双击那个TQUDATESQL
它会自动生成相关SQL语句,你调整好
你要保存时调用 QUERY1.applyupdate可以了
alongla918 2002-06-17
  • 打赏
  • 举报
回复
可以把有关这一段的源码公开一下吗,可能这样会更清楚
Seiya2000 2002-06-17
  • 打赏
  • 举报
回复
你用的是不是Tdatabase控件连的数据库?里面有一项ReadOnly属性,设为False即可。
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
canmodify的属性时false

怎么改变状态?
DURON800 2002-06-17
  • 打赏
  • 举报
回复
使用QUERY前,判断一下他的CANMODIFY属性是真是假
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
updatesql怎么用,

我怎么看了半天没有看明白,
DURON800 2002-06-17
  • 打赏
  • 举报
回复
你不会用ADO吗?QUERY真是麻烦,ADODATASET就好多了!
lanbada 2002-06-17
  • 打赏
  • 举报
回复
用了TupdateSql
1,
至少你能虚拟的EDIT(CahceUpdates 要设置成 True;)POST也不会更新
2,
但是你如果用了QUERY1.APPLYUPDATE
那么库表就跟着更新了

linzhisong 2002-06-17
  • 打赏
  • 举报
回复
我在最后一步修改时,必须用query1.edit,

对每条记录进行分配学号。

linzhisong 2002-06-17
  • 打赏
  • 举报
回复
To:lanbada(lanbada)

我用的是

query1.edit

所以TupdateSql没有什么用吧?
linzhisong 2002-06-17
  • 打赏
  • 举报
回复
多谢lanbada(lanbada)

我试试看!
dongxsoft 2002-06-17
  • 打赏
  • 举报
回复
查看你是否使用SQL 语句进行添加与修改
lanbada 2002-06-17
  • 打赏
  • 举报
回复

CahceUpdates 要设置成 True;
加载更多回复(13)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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