是关于ADO多表删除问题
有俩张表:table1(ID、 DepNo 、EmploeeName)
table2(DepNo、DepName)
ADODataSet的CommandText:='select a.*,b.DepName from table1 a inner join
table2 b on a.DepNo=b.DepNo'
为什么删除一条记录时,table2中的纪录也被删除
有俩张表:table1(ID、 DepNo 、EmploeeName)
table2(DepNo、DepName)
ADODataSet的CommandText:='select a.*,b.DepName from table1 a inner join
table2 b on a.DepNo=b.DepNo'
为什么删除一条记录时,table2中的纪录也被删除
解决方案 »
- Undeclared identifier: 'TBytes'
- 子线程不能共享使用主线程的动态数组变量吗?
- Delphi插件式框架(BPL)发布与.Net框架发布的一点联想 顺便请教达人
- delphi播放视频文件一般用什么控件好?
- 帮我看下我写的数据库代码哪错了。谢谢
- 貔貅软件公司!程序员创业。来者有分!
- 有没有tb97的d7包呀,用的是d7,但是包里只有d4-d6,不知道应该怎么办?
- 不爽,散
- 关于打印发票的问题(非常急!)
- 关于TADTField和TArrayField两个类型字段对象
- 我用NMUDP,用try...except...也无法截获“stream write error”,怎么办?
- Rave 中报表抬关打印的问题
table2 b on a.DepNo=b.DepNo'
后执行了删除的命令呢!
这个时候删除的时候最好是利用sql语句来删除不要直接的delete
就是写语句来删除
delete table1 where field1=:saa
parameters.param......
delete table2 where field1=:dsad
.......
因为上面的语句的时候你的表之间已经建立的关联的这时候如果你直接执行delete命令的话 就是把两个表的数据一起删除了
你说的很对,但我的这个系统已经作了基本差不多了,所有的数据表维护都是用一个
数据导航器来操作的,现在要改成用sql语句,这要从头作起呀!!
我明白你的意思。
书中涉及到了这个问题
利用ADO的一个属性Properties['Unique table']指定要删除的表
这样就不会删除其它的表了