社区
数据库及相关技术
帖子详情
ADOQuery重复的数据的问题
areasd
2003-07-21 05:08:50
我用ADOQuery->LoadFromFile("filename");从文件中读入了100多个记录。然后把这段记录插入到SQL表中,现我发现该段记录中有重复的数据,一插入重复的数据时会报错。我该如何在程序中把重复的数据滤掉?或如何把SQL表设成是可以容纳重复的数据?
...全文
82
9
打赏
收藏
ADOQuery重复的数据的问题
我用ADOQuery->LoadFromFile("filename");从文件中读入了100多个记录。然后把这段记录插入到SQL表中,现我发现该段记录中有重复的数据,一插入重复的数据时会报错。我该如何在程序中把重复的数据滤掉?或如何把SQL表设成是可以容纳重复的数据?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 SQL Server
数据
库应用系统开发中的
数据
访问技术.pdf
为了实现静态SQL访问,开发者需要在
ADO
Query
控件中编写SQL查询语句,然后执行open方法来获取
数据
。在上面的例子中,开发者在Form1上的Button1的click事件中添加了SQL查询语句来获取学生表中的
数据
信息。这属于静态...
Report Machine(RM)报表控件简单用法
ADO
Query
的Connection指向
ADO
Connection,
ADO
Query
的SQL设置好
数据
查询语句。 然后,在Form上放上两个RM报表控件:RMDBDataSet和RMReport。RMDBDataSet的DataSet指向
ADO
Query
,RMReport的DataSet指向RMDBDataSet。...
Report_Machine操作手册
然后,设置
ADO
Query
的 Connection 指向
ADO
Connection,並设置好
数据
查询语句。接下来,在 Form 上放上两个 RM 报表控件:RMDBDataSet 和 RMReport,RMDBDataSet 的 DataSet 指向
ADO
Query
,RMReport 的 DataSet ...
delphi实现对access的单表组合查询
- `UNION`会去除
重复
的行,而`UNION ALL`不会。 - 所有`SELECT`语句的列数和
数据
类型必须匹配,否则查询会失败。 - 记得在操作完成后关闭记录集和连接,以释放资源。 6. **示例代码**: 在Delphi中,以下代码...
delphi
数据
库初始化程序
执行完SQL后,还禁用了button3控件,可能是为了防止
重复
创建或误操作。 4. 初始化考核标准表: ```delphi
ado
query
1.sql.Clear;
ado
query
1.SQL.Add('create table 考核标准 ( 科目名称 varchar(20),时间(秒)(5 ...
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章