append和insert有什么分别? 我看书append是在数据库最后增一条纪录insert是在当前插入一条纪录但我用起来怎么两种方法都是一样的,都是在最后新增加一条纪录,那怎样才能在当前插入一条纪录呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是指 Query 控件吧如果你的当前位置是 EOF ,就是表的末尾,那当然就一样了当前位置在哪里,INSERT 就插在哪里,用 next、prior 移动位置 用adoquery当前不是EOF,我在DBGrid1中直接移动指针到中间再用这两种方法, 但效果还是一样的 是一样的,都是从tdataset继承的。所以query和table都是一样的。procedure TDataSet.Insert;var Buffer: PChar; OldCurrent: TBookStr;begin BeginInsertAppend; OldCurrent := Book; MoveBuffer(FRecordCount, FActiveRecord); Buffer := ActiveBuffer; InitRecord(Buffer); if FRecordCount = 0 then SetBookFlag(Buffer, bfBOF) else SetBookData(Buffer, Pointer(OldCurrent)); if FRecordCount < FBufferCount then Inc(FRecordCount); InternalInsert; EndInsertAppend;end;procedure TDataSet.Append;var Buffer: PChar;begin BeginInsertAppend; ClearBuffers; Buffer := FBuffers[0]; InitRecord(Buffer); SetBookFlag(Buffer, bfEOF); FRecordCount := 1; FBOF := False; GetPriorRecords; InternalInsert; EndInsertAppend;end; 如果你进行了查找,定位这样的操作 ,append和insert的位置就该有区别了,当前位置是光标所在的位置,你执行了查询,在插入,应该不是出现在结尾的 但我什么也没用过呀,数据库没做索引,SQL语句是这样的select * From tablename没有排序呀 SPCOMM控件ComReceiveData能接收数据,但不能把数据传递给其他过程 Delphi三层 如何传递远程引用对象? fastreport3.0 多列打印问题 我该如何制作*.ini文件,顶者有分,谢谢 怎么在程序里判断Image控件有没有加载图片? 急急急 帮我看看,我哪儿错了(在线等) 各位兄弟姐妹们,如何知道一个程序内存的使用情况? 怎么控制 DBGrid中的按健,给点提示 一个关于数据库应用的开始界面问题! 在win98下能做网络数据库开发么? 怎样在当前纪录中插入一条纪录? 求《深入delphi6网络编程》配套光盘中的书中例子的代码
当前不是EOF,我在DBGrid1中直接移动指针到中间再用这两种方法, 但效果还是一样的
procedure TDataSet.Insert;
var
Buffer: PChar;
OldCurrent: TBookStr;
begin
BeginInsertAppend;
OldCurrent := Book;
MoveBuffer(FRecordCount, FActiveRecord);
Buffer := ActiveBuffer;
InitRecord(Buffer);
if FRecordCount = 0 then
SetBookFlag(Buffer, bfBOF) else
SetBookData(Buffer, Pointer(OldCurrent));
if FRecordCount < FBufferCount then Inc(FRecordCount);
InternalInsert;
EndInsertAppend;
end;procedure TDataSet.Append;
var
Buffer: PChar;
begin
BeginInsertAppend;
ClearBuffers;
Buffer := FBuffers[0];
InitRecord(Buffer);
SetBookFlag(Buffer, bfEOF);
FRecordCount := 1;
FBOF := False;
GetPriorRecords;
InternalInsert;
EndInsertAppend;
end;