我是用ADO控件写数据库的(刚学),现在我写了一条新增的代码
with adodataset1 do
begin
Append;
adodataset1.FieldByName('mirrorsort').AsString:= edit1.Text;
end;
然后一条保存的代码
updatebatch;
现在我想请问?
1. 用adodataset连接库,如果记录有几十万条,用它连接是否够快?
2. 用adoquery如何批量新增数据?
3. 如果我库里面有相同的记录,但新增的时候不知道,因为是批量新增,那如果有重复的记录怎么办?
4. 新增记录,是用adodataset好还是adoquery好呢?
with adodataset1 do
begin
Append;
adodataset1.FieldByName('mirrorsort').AsString:= edit1.Text;
end;
然后一条保存的代码
updatebatch;
现在我想请问?
1. 用adodataset连接库,如果记录有几十万条,用它连接是否够快?
2. 用adoquery如何批量新增数据?
3. 如果我库里面有相同的记录,但新增的时候不知道,因为是批量新增,那如果有重复的记录怎么办?
4. 新增记录,是用adodataset好还是adoquery好呢?
2、sql语句,batch
3、数据库是可以进行Duplicate检查的,随你怎么使用
4、AdoQuery
3。增加的时候先查询一下,不就可以了?
4。尽量不要用adodataset,它的问题比较的多,用adoquery一般就够用了
2、本人用循环批量新增数据(方法比较笨,几十万条得用一天)
3、可以用数据库的完整性约束(Check)解决。如果主键相同就不新增
4、不知道。本人都用AdoQuery
2、如果要批量新增数据的话,把adodataset的locktype设置为:ltBatchOptimistic,然后需要向数据库提交的时候用updatebatch(),取消更新用cancelbatch()就行了3、如果有相同的记录,但你还是可以录入,说明你的数据库结构没有设计好,没有设置相应的主键,这样你的数据库效率不高,而且容易出问题4、新增记录,其实adodataset adoquery都差不多,因为它们在ado的原生对象中全部属于recordset对象
比如,我的A表中的a,b栏本来就有3条记录,我现在新增
with adoquery1 do
begin
active:=true;
append;
FieldByName('mirrorsort').AsString:= edit1.Text;
FieldByName('mirrorsort').AsString:= edit1.Text;
end;