关于 varbinary 类型(50分)

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

fossil

Unregistered / Unconfirmed
GUEST, unregistred user!
1。数据库SQLSERVER2000字段类型为varbinary,
我给字段赋值地时候 怎么做:TVarBytesField(PersonsDataSet.FieldByName('Cha1')).GetData(Chrbuf2);
Chrbuf2是一个PCHAR类型,然后Chrbuf2又从新给数值,将数值付给 cha2字段,TVarBytesField(PersonsDataSet.FieldByName('Cha2')).GetData(Chrbuf2);
这时候CHA1和CHA2字段地数值是一样地吗??????
2。我想看看是不是把值已经付给这两个个字段,并且是不是一样, 所以怎么取出这个字段地值呢??
 
{ Assign "raw" data to Field1 }

with Field1 do
begin
{ Allocate space }
GetMem(Buffer, DataSize);
{ Fill Buffer with the desired data }
...
{ Do the assignment }
Field1.SetData(Buffer)
{ Free the space }
FreeMem(Buffer, DataSize);

end;

{ Retrieve the "raw" data from Field1 }
with Field1 do
begin
ifnot IsBlob { this does not work for BLOB fields }
begin
{ Allocate space }
GetMem(MyBuffer, DataSize);
try
ifnot GetData(MyBuffer) then
MessageDlg(DisplayName + ' is NULL', mtInformation, [mbOK], 0)
else
{ Do something with the data };
finally
{ Free the space }

FreeMem(MyBuffer, DataSize);
end;
end;
end;
 
qdyoung:
字段类型是 Varbianry类型,TBLOB不行
 
楼上的应该可以。
给字段赋值:buffer->field
TVarBytesField(PersonsDataSet.FieldByName('Cha1')).Setdata(buffer);
取字段的值 field->buffer
GetMem(MyBuffer, PersonsDataSet.FieldByName('Cha1')).DataSize);
TVarBytesField(PersonsDataSet.FieldByName('Cha1')).getdata(buffer,PersonsDataSet.FieldByName('Cha1')).datasize);
FreeMem(MyBuffer, PersonsDataSet.FieldByName('Cha1')).DataSize);
 
上面的例子就是针对非blob字段的
 
book523:你到这个帖子上来,我给你50
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1160419
 
后退
顶部