我用accsess做数据库,用adoquery连接,有如下两张表.
a1 b1
项目编码 项目名称 人员 项目编码 金额
1001 x1 p1 1001 50
1002 x2 p1 1002 10
1003 x3 p1 1003 12
p2 1001 18
p2 1002 40
p2 1003 56
sql语句如下:
select b.人员,a.项目名称 b.金额 from a1 a,b1 b
where a.项目编码 =b.项目编码
and b.人员='p1'在DBgrid中显示结果为:
人员 项目名称 金额
p1 x1 50
p1 x2 10
p1 x3 12 查询结果显示在DBGrid中,我想在DBgrid中修改金额,然后在post或是delete,
可运行后一但修改或删除就提示"缺少更新或刷新的键列信息";
请问各位我应怎样做才能通过DBGrid更新数据?
给个一般处理这种这问题的思路也行
a1 b1
项目编码 项目名称 人员 项目编码 金额
1001 x1 p1 1001 50
1002 x2 p1 1002 10
1003 x3 p1 1003 12
p2 1001 18
p2 1002 40
p2 1003 56
sql语句如下:
select b.人员,a.项目名称 b.金额 from a1 a,b1 b
where a.项目编码 =b.项目编码
and b.人员='p1'在DBgrid中显示结果为:
人员 项目名称 金额
p1 x1 50
p1 x2 10
p1 x3 12 查询结果显示在DBGrid中,我想在DBgrid中修改金额,然后在post或是delete,
可运行后一但修改或删除就提示"缺少更新或刷新的键列信息";
请问各位我应怎样做才能通过DBGrid更新数据?
给个一般处理这种这问题的思路也行
解决方案 »
- 文字游戏
- 请问:用Delphi制作电子地图需要哪些方面的东西呢?
- Delphi 叫用 BCB 開發的 DLL 的問題(奇怪了,爲什麽不行呀!)
- 如何编写友立DVD WORKSHOP H2P采集卡软件。
- 高分1000回赠,websnap问题
- delphi下怎么实现延迟 并且响应消息 而且还少 占CPU的 代码
- XP下如何检测打印机状态
- 是 Delphi6.0 的 Bug, 还是我的应用有问题? 高分赠送!
- 请问我的想法是否可行?能不能这样提高工作效率?
- 怎么定义一个消息确定我刚才按了哪个键?(高分相送)
- 为什么程序启动时,窗口显示后自动关闭,然后程序就退出了?
- 一直比较菜比较菜比较菜,,,,,,,,,,,,,,,,,,
a1表的主键是"项目编码"和b1表的主键是"人员"和"项目编码";
可就是不行 ,运行后一但修改或删除就提示"缺少更新或刷新的键列信息";
sql改为:
select
b.人员,
a.项目名称,
b.金额
from a1 as a
inner join b1 as b on a.项目编码 =b.项目编码
where b.人员= 'p1 '
可以在access产生的视图里修改,但是仍然不能在ado->dbgrid中修改这是为什么呢?