HELP!!请问如何将数据库的记录内容赋给一个记录类型的动态数组??高分(100分)

  • 主题发起人 主题发起人 fili
  • 开始时间 开始时间
F

fili

Unregistered / Unconfirmed
GUEST, unregistred user!
type TableRecord = record
CustNo:integer;
Company:String;
Addr1:String;
Addr2:String;
end;
var
Customer:array of TableRecord;
动态数组定义如上,现要将一个数据库的查询结果赋给该结构的,请问如何做到。(数据库查询我用的是ADO方式的。)
谢谢
 
GetCurrentRecord(Buffer: PChar): Boolean; virtual;
 
Function ConvertToVarArray(DataSet:TDataSet):Customer;
var iNo,iID:integer;
eInfo:TableRecord;
begin
iNo :=DataSet.RecordCount;
SetLength(Result, iNo);
iID:=-1;
with DataSet do
begin
while not Eof do
begin
Inc(iID);
eInfo := TableRecord.Create;
eInfo.CustNo:= FieldByName('CustNo').Value;
eInfo.Company := FieldByName('Company').Value;
eInfo.Addr1:= FieldByName('Addr1').Value;
eInfo.Addr2 := FieldByName('Addr2').Value;
Result[iID] := eInfo;
Next;
end;
end;
end;
 
不行啊!!
 
直接在你Dataset的过程里测试,先看看你的数据集返回结果正确否?marknew的方法应该行
的,耐心测试一下;
 
Function ConvertToVarArray(DataSet:TDataSet):Customer;
TableRecord
有个错误
 
问题解决,谢谢,不过是用的另外的方法。
BTW TO MARKNEW:知道如何把这个记录的数据用CLINETSOCKET/SERVERSOCKET
从客户端传到服务器端吗?如果知道就顺便告诉我,十分感谢--100分奉上。
 
应该是把记录数据写进流,在客户端接收就行了。
 
这个我知道呀,但是格式如何呢,要在这边一样的格式,而且动态的数组在服务端接受的时候
是否要一条记录一条记录的分开来接受??谁知道,另外给分!!!!!!!!!
 
直接用SendBuf()和ReceiveBuf()就可以了,你可以不管有几条记录;
或者:把RecordCount符给Socket.Data,在Server端判断Socket.Data指向的值
 
后退
顶部