社区
数据库及相关技术
帖子详情
ADOQuery重复的数据的问题
areasd
2003-07-21 05:08:50
我用ADOQuery->LoadFromFile("filename");从文件中读入了100多个记录。然后把这段记录插入到SQL表中,现我发现该段记录中有重复的数据,一插入重复的数据时会报错。我该如何在程序中把重复的数据滤掉?或如何把SQL表设成是可以容纳重复的数据?
...全文
58
9
打赏
收藏
ADOQuery重复的数据的问题
我用ADOQuery->LoadFromFile("filename");从文件中读入了100多个记录。然后把这段记录插入到SQL表中,现我发现该段记录中有重复的数据,一插入重复的数据时会报错。我该如何在程序中把重复的数据滤掉?或如何把SQL表设成是可以容纳重复的数据?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
areasd
2003-07-22
打赏
举报
回复
我用
try
{
插入一条记录;
}
catch(...)
{
ADOQuery1->Next();
}
在执行程序时,会出现程序无响应的现象。我用的是Form->ShowModal();后的Form,在出现异常后,程序的FORM 会消失,只能看到MainForm.
另:我用的是ADOQuery->LoadFromFile("filename");我想这就不能用SQL语句对ADOQuery中的数据进行操作吧!
jiansee
2003-07-22
打赏
举报
回复
是表里面定义了不可重复相同记录,可以修改表的设计,或者程序这样写:
try
{
插入一条记录;
}
catch(...)
{}
上面的代码放到循环里面,循环直到记录全部插入完毕。
当有某条记录发生重复时数据库引擎报错,这个错误被后面的catch拦截。
记住,程序必须以release方式完全编译,执行的时候就不会报错,结果就是所有重复的记录没有被插入到表中。
jiansee
2003-07-22
打赏
举报
回复
以前用过这个方法把一个库的记录导入另一个库文件,用的就是这个办法来忽略重复记录。
ADOQuery->LoadFromFile("filename")之后配合另一个ADOQuery进行循环写入记录,用的sql语句,没有问题,上面的代码不知是不是有笔误,我认为是这样:
ADOQuery1->LoadFromFile("filename");
ADOQuery1->First();
for (int i = 0; i < ADOQuery1->RecordCount; i++)
{
try
{
ADOQuery1用sql语句将一条记录读出,ADOQuery2调用sql语句把该记录写入目标表;
}
catch(...)
{} //出错的话程序会跳到这里,可以进行错误处理,但你的情况{}空着就行
ADOQuery1->Next();
}
alboy
2003-07-21
打赏
举报
回复
select 字段,count(*) from 表 group by 要判断是否重复的字段 having count(*)>1
上面的语句是判断数据库中有重复记录的语句,你改一下就可以了
runnerrunning
2003-07-21
打赏
举报
回复
另外一个办法就是不管错误,直接保存,然后在onUpdateError好像是这个事件或者onPostError中检查错误行就跳过
runnerrunning
2003-07-21
打赏
举报
回复
select distinct field1,fields....from table1 where.....
也是可以去掉重复行的
runnerrunning
2003-07-21
打赏
举报
回复
select distinct field1,fields....from table1 where.....
也是可以去掉重复行的
lvjack
2003-07-21
打赏
举报
回复
将SQL表的unique限制去掉,即允许重复数据
yingyys
2003-07-21
打赏
举报
回复
你可以一条一条往数据库插入数据,插入以前先查询一下是否有重复
如果让表有重复的数据,可以不设主键,但这样不推荐或者增加一个字段比如自增的
Delphi
重复
使用
ADO
query
时要避免相互干扰的
问题
我一般是
ADO
Query
1..5(基本上临时查询使用),循环使用,但有可能会出
问题
,那就是两个界面都用
ADO
1查询时,另外判断
ADO
.isempty时,会交叉干扰。比如A窗体的
ADO
1-->delete和B窗体的
ADO
1-->delete,...
Delphi
ADO
Query
多个参数
重复
改编技巧
今天看了多年前的一个帖子,发现回答不合理,有些还将其归为delphi的bug....
ADO
QUERY
查询时,这样不行,结果不正确。 WITH
ADO
QUERY
1 DO BEGIN CLOSE;SQL.CLEAR; SQL.ADD('SELEC
Delphi
ADO
Query
多个参数
重复
改编技巧(原创)
ttp://topic.csdn.net/t/20060719/17/4891215.html#今天看了多年前的一个帖子,...其实主要是不灵活应用参数
ADO
QUERY
查询时,这样不行 WITH
ADO
QUERY
1 DO BEGIN CLOSE;SQL.CLEAR; SQL.ADD(SELECT * FROM TABLE1 WHERE T
解决Delphi
ADO
无法为更新定位行
Delphi中很多朋友使用
ADO
Query
更新
数据
时会出现,无法为更新定位行。一些值可能已在最后一次读取后已更改的错误信息。 以前的时候也碰到类似的
问题
,一般就是去看
数据
表,发现没有设置主键或者表里的字段有的没有...
delphi 中获取表中不
重复
的记录列表
select DISTINCT Id from tablename这样得到的就是不
重复
的记录列表,id为具体的表属性!
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章