小弟有俩个问题
 1、 怎样取消ADO的多表连接的自动级联删除
 2、为什么ADO下用DBLookupComboBox时会出现“未知错误”。
那位同仁有这方面经验,小弟在这先谢了。

解决方案 »

  1.   

    特别感谢关注
      1、我用的是inner join连接的两张表 一张员工基本表(ID、DepartmentNo、Name)
      另一张是部门基本表(DepartmentNo、DepartmentName)
      ADODataset.CommandText:='select a.*,b.DepartmentName from 
                              Employee a inner join Department b
                              on a.DepartmentNO=b.Department'
      当我删除这个表的纪录时,员工基本表删除一条纪录很正常,但是部门基本表也删除
      相应的一条纪录。
      

  2.   

    第二个问题
      我用DBLookUpComboBox完成用下拉方式选择部门,但是在添加纪录时出现“未知错误”。
      这个问题只是在Delphi编译环境下出现。但直接执行可执行文件时一切正常。
      我糊涂了。
      

  3.   

    DBLookUpComboBox是用来选择查找的字段的值的 我看你的意思应该是使用DbComboBox控件比较合适一些!或者ComboBox控件利用循环从数据集中读取数据 然后ComboBox.items.add(ADOQuery1.FieldByName(参数).asString) 条件是while not ADOQuery1.Eof do
      

  4.   

    ADODataset.CommandText:='select a.*,b.DepartmentName from 
                              Employee a inner join Department b
                              on a.DepartmentNO=b.Department'
    因为你已经把两个表关联起来 所以删除数据的时候 会把两个表的数据一起删除!
    这个时候我觉得还是用sql语句实现删除比较好 
    ADODataset1.CommandText:=‘DELETE Table1 WHERE 条件成立’
    如果两个表存在关联的话 先删除从表 再删除主表的
      

  5.   

    我还有个问题,为什么在BDE中用DBLookUpComboBox就不会有这个问题呢
      

  6.   

    DBLookUpComboBox能够添加数据吗?还真的是不清楚!
      

  7.   

    DBLookUpComboBox的DataField属性联上employee的DepartmentNo,
    listSource联上department表的Datasource,
    listfield为department表的departmentName,
    当从DBLookUpComboBox中选择一个部门名称,他就会吧相应的部门编号插入到emplyee表的
    DepartmentNo中
    你从来没用过吗?
    实在不行,我就会用你说的方法用sql方法自己完成了。