数据库中两个表中的字段值相比较的问题

elong518 2001-09-03 05:55:09
各位,我是一个初学者,我想在数据库中把两个表中的字段值提取出来进行比较,代码如下:
TTable *table1=new TTable(this);
TTable *table2=new TTable(this);
table1->FieldByName("A1")->Value==table2->FiledByName("B2")->Value;
...
A1、A2均为字段名,其值为ftString.
编译后运行,就会死机,不知道是为什么?有人能帮帮我吗?
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
elong518 2001-09-08
  • 打赏
  • 举报
回复
弱水兄:
谢谢你,我会试一下的,然后给你回复。
KingSunSha 2001-09-07
  • 打赏
  • 举报
回复
我不懂BCB,但是你的意思我看懂了,你想要判断这样的情况:
对table里的每个记录进行判断,如果a1='422422',而且在table1找不到任何a3=b3 and a4=b4的记录的话,就删除该条记录。是吧?
用sql的话速度会快很多,但是我对paradox不熟悉,只能给你一个参考(表名为ta,tb)。
写法一:
delete from ta
where a1 = '422422'
and not exists (select 'x' from tb --不存在b3=a3 and b4=a4的记录
where tb.b3 = ta.a3
and tb.b4 = ta.a4);
写法二:
delete from ta
where a1 = '422422'
and (a3, a4) not in (select distinct b3, b4 from tb) -- a3,a4组合不在所有的b3,b4组合中
KingSunSha 2001-09-06
  • 打赏
  • 举报
回复
写清楚你用的数据库,附上相关的代码发给我吧。King_Sun_Sha@163.com
elong518 2001-09-06
  • 打赏
  • 举报
回复
我想把代码换成SQL进行比较,有高手可以指教一下吗?把信箱地址写在上面,我把代码发给各位。
elong518 2001-09-06
  • 打赏
  • 举报
回复
to xiaobo:
是的。
xiaobo 2001-09-05
  • 打赏
  • 举报
回复
你比较的是两个表中的两条记录?
elong518 2001-09-05
  • 打赏
  • 举报
回复
不用Table用什么?以上各位大侠的方法我都试过了,没有效果。
KingSunSha 2001-09-04
  • 打赏
  • 举报
回复
这种工作建议由数据库自己比较,然后返回一个true/false值就行了。
能让数据库自己做的是尽量让数据库做。
HEROIN 2001-09-03
  • 打赏
  • 举报
回复
你指定了表吗?也Open了?

你的表有多大,估计装载需要多长时间?

如果数据太多,"死机"也就正常了

最好不用Table

wxcwuxuchun 2001-09-03
  • 打赏
  • 举报
回复
是不是死循环了
yuyulily 2001-09-03
  • 打赏
  • 举报
回复
AnsiString a1=table1->FieldByName("A1")->Value;
AnsiString a2=table2->FieldByName("A2")->Value;
然后用StrComp比较a1,a2

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧