R
raymondcen
Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题我看到不少人都问过,不过我试了一些办法都不行。
问题是这样的。客户端的DBGrid有两个字段ca,cb涉及3张表啊ta,tb,tc。
ta是用户表:uid, uname
tb是权限表:pid, pname
tc是用户权限表:uid,pid分别跟前面两张表中的两个key对应(外键)。
DataSetProvider后的ADOQuery中写的select语句如下:
select * from ta,tc where ta.uid = tc.uid
DBGrid对应的ClientDataSet中的Column一个使用了现成的uname,
另一个采用lookup的方式,从tb中通过pid查出的pname。这样pname在DBGrid中就能通过下拉菜单修改了。
可是现在当更新完以后,用ClinetDataSet.ApplyUpdate(0)或者ClinetDataSet.ApplyUpdate(-1)都不能更新远程的数据库。
DataSetProvider的ResolvetoDataSet设成了false。另外UpdateMode无论设成upwhereAll还是upwherechanged都没有用。
不知道这种多表的更新应该如何解决。
我手头也没有李维的书。上海不知道能不能买到。如果谁有电子版的话,能不能发一份给我?
email:raymond@bleum.com
问题是这样的。客户端的DBGrid有两个字段ca,cb涉及3张表啊ta,tb,tc。
ta是用户表:uid, uname
tb是权限表:pid, pname
tc是用户权限表:uid,pid分别跟前面两张表中的两个key对应(外键)。
DataSetProvider后的ADOQuery中写的select语句如下:
select * from ta,tc where ta.uid = tc.uid
DBGrid对应的ClientDataSet中的Column一个使用了现成的uname,
另一个采用lookup的方式,从tb中通过pid查出的pname。这样pname在DBGrid中就能通过下拉菜单修改了。
可是现在当更新完以后,用ClinetDataSet.ApplyUpdate(0)或者ClinetDataSet.ApplyUpdate(-1)都不能更新远程的数据库。
DataSetProvider的ResolvetoDataSet设成了false。另外UpdateMode无论设成upwhereAll还是upwherechanged都没有用。
不知道这种多表的更新应该如何解决。
我手头也没有李维的书。上海不知道能不能买到。如果谁有电子版的话,能不能发一份给我?
email:raymond@bleum.com