关于SQL控件使用问题(50分)

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

linming

Unregistered / Unconfirmed
GUEST, unregistred user!
我其实是一位使用C++ Buider的初学者,可有关C++ Buider的站点实在太难找,无奈之下只好就通过一些Delphi的站点来弥补,谁让他们俩儿是一个妈呢!最近想用C++ Buider改写自己使用Access97编的一个材料管理的数据库。遇到如下一些问题请各位高手指教。
问题1:我想使用SQL方式访问Access97编的数据库,并且太喜欢BDE方式,可否有适合C++ Buider的可直接访问Access97的控件,或其他比较好的方案?(对中文有较好的支持)
问题2:我使用Query部件对数据库进行操作。发现对于是由二个以上相关联表格组合的表格时,返回的结果总是只读方式(RequestLive=true),而这在Access97却可读写。另外在参考书中见到如下说明:“使用Query部件返回只读的查询结果数据集,而用户又希望修改这只读的数据集时,可使用另外增加一个Query部件Query2(假设只读结果的Query的部件名字是Query1);在Query2中设置修改语句UpDate对Query1中的数据进行修改操作,这样就可以实现对只读的数据进行修改”
对于如何在“Query2中设置修改语句UpDate对Query1中的数据进行修改操作”仍然不明白,书上也未举例说明。请各位高手指教。
我的EMail:bdi@sina.com
 
A:A1,A2字段
B:B1,B2字段
A1与B1连接

Query1.SQL.Text := 'SELECT A.A1,A.A2,B.B2 FROM A,B WHERE A.A1=B.B1';

现在要修改A.A2:
A1Value := Query1.Fields[0].AsString;
Query2.Active := false;
Query2.SQL.Add('UPDATE A SET A2="' + NewA2 + '" ');
Query2.SQL.Add('WHERE A1="' + A1Value + '"');
Query2.Active := true;

要修改B.B2的话也一样

 
接受答案了.
 
后退
顶部