我现在遇到一个非常棘手的问题:
  有三个表:标书管理(标书编号,标书名称,标书时间等等);
       标段(标书编号,标段编号,标段名称);
       标段项目(标书编号,标段编号,标段项目编号,标段项目名称等等);
  建立了‘主-从表’的关系:
    ‘标书管理’是主表;‘标段’是它的从表;‘标段项目’是‘标段’的从表。  现在我要在一个窗口里面实现‘增、删、改、保存’等操作,怎样实现?望大家多多指教!!:)
                小飞侠 

解决方案 »

  1.   

    我也有这样的问题。
    那主从表后,原来的普通的功能增、删、改、保存
    都不对了。经常提示:不能定位更新行什么的。
    反正问题很多。不知那有关于主从表的很好的列子
    最好是ADO的。不知那位高手能给点提示
    感谢楼主
    联系:  QQ  41732600
    E-MAIL:[email protected]
      

  2.   

    你用什么数据库,你问的问题实现不是很难,只是一句话很难描述清楚。
    你创建的是主从表关系,就得注意一些问题, 
    添加的时候先添加主表, 然后再是从表。 删除的时候先删从表,再删主表。
    (前提是有外键约束) 如果是sql数据库你到数据库里建就行了至于一些简单的命令应该会吧。SQl server加一个事务保证数据完整性。尽量用adoquery,不用adotable /table,不灵活。 如果考虑效率那就把数据的操作放到后台执行就行了。或者放在存储过程里。 会快很多啦。
      

  3.   

    小飞侠谢谢海浪!!多谢!我用的是Oracle 8i ,建表用的是PowerDedegner Architect!!小弟愚昧,能否再讲详细一点
      

  4.   

    delphi常用的连接控件应该会了吧! 建议用ado连接操作你的数据库,
    .像主从表关系, 最好把大量的运算全部放在服务器端,前台调用就是了。
    减少网络流量, 其实我说的已经超出你问的范围了。像添加,删除,修改,这些操作, 你可以放一个adoconnection连接上数据源。
    再放一个adoquery连接数据表。
    with adoquery1 do
    begin
    active:=false;
    sql.add('select * from table');
    active:=True;
    adoquery1.append;
    ...
    adoquery1.post;// 
    end;建议学会用SQL,常 用的操作命令,再通过这些打通数据的关系对你是很有帮助的。 不过还是要平时多练呀! 问题多多才有进步。
      

  5.   

    我现在已经全部连接好了,而且整界面也全做好了!(一个里面放了一些DBEdit,DBLookupComboBox等等),而且在 ‘标段’和‘标段项目’表中也做了外键约束!!  
     由于程序要求,“标书编号”、“标段编号”、“标书项目编号”都要求自动生成!!我原来把生成上述编号的代码分别写在相应的Table的BeforePost事件中,但是系统老是提示:“标书编号”不能为空!!
     我现在也不知怎么是好了!!