多表查询后修改数据出现“缺少更新或刷新的键列信息”的抛出错误
我在ADOQuery中使用如下SQL语句:
select 学生信息.学号,学生信息.姓名,[Ex07012392(理)].语文,[Ex07012392(理)].数学,[Ex07012392(理)].英语,[Ex07012392(理)].物理,[Ex07012392(理)].化学,[Ex07012392(理)].生物 from 学生信息,班级信息,[Ex07012392(理)] where [Ex07012392(理)].学号=学生信息.学号 and 学生信息.班级编号=班级信息.班级编号 and 班级信息.班级编号= 'GC20060001 '
获得一个查询结果并显示在DBGrid控件中,但当我修改数据时,就出现“缺少更新或刷新的键列信息”的抛出错误,不知道该如何解决,麻烦各位朋友帮忙,谢谢:)
[解决办法]
從多個表聯合查詢得出的結果是不能修改的。
如果你要修改其中一個表,請使用Left Join 連接多個表,並且只能改該第一個表的字段。那樣可能會成功(要看你的數據庫了)
[解决办法]
在查询语句前面加上这句ADOQuery-> CursorLocation = clUseServer;