我在程序中动态建立了一个表如下:
CREATE TABLE mod(
Type short,
Font VarBinary(276),
Rect VarBinary(16),
Name VarChar(255)
)
Font字段用于保存字体相关信息
Rect字段保存TRect在将数据保存到表中时总是显示错误'Errors occurred',代码如下:
var
rec: TRect
begin
.
.
ADODataSet1.Append;
.
.
TVarBytesField(ADODataSet1.FieldByName('Font')).SetData(@fb);
TVarBytesField(ADODataSet1.FieldByName('Rect')).SetData(@rec);
ADODataSet1.Post;
.
.
end;请大家给一个准确的答案,或解释以下VarBinary字段究竟如何正确读取!
我想,VarBinary与Blob是有区别的,Blob字段存取必须通过TADOBlobStream或TBlobStream注: 以上程序在Win98,Delphi 5环境中通过ADO访问数据库.
CREATE TABLE mod(
Type short,
Font VarBinary(276),
Rect VarBinary(16),
Name VarChar(255)
)
Font字段用于保存字体相关信息
Rect字段保存TRect在将数据保存到表中时总是显示错误'Errors occurred',代码如下:
var
rec: TRect
begin
.
.
ADODataSet1.Append;
.
.
TVarBytesField(ADODataSet1.FieldByName('Font')).SetData(@fb);
TVarBytesField(ADODataSet1.FieldByName('Rect')).SetData(@rec);
ADODataSet1.Post;
.
.
end;请大家给一个准确的答案,或解释以下VarBinary字段究竟如何正确读取!
我想,VarBinary与Blob是有区别的,Blob字段存取必须通过TADOBlobStream或TBlobStream注: 以上程序在Win98,Delphi 5环境中通过ADO访问数据库.
解决方案 »
- 关于dll里创建adoquery动态创建的问题
- 关于菜单编程的一个小问题哈,在线等,答对就送分………………………………!!!
- formula one6 如何copy 和paste 选定区域
- 请问大家一般怎么实现报表打印功能!!!
- 求助一个类似于QQ的好友列表的控件!!!
- 急!出500分求解!!!http://expert.csdn.net/Expert/topic/2314/2314739.xml?temp=.4611017
- 如何拆分字符串
- ADODataSet中的commandtext中这样写有问题吗?
- 请问各位虾哥TLargeInteger的含义和用法?
- 如何在Delphi下调用C的动态链接库?
- DBGrid控件的小问题 价值30分
- 笔试题,大家练练手。看谁解决的最经典。
将TVarBytesField(ADODataSet1.FieldByName('Font')).SetData(@fb);
改为:
v := VarArrayCreate([0,Sizeof(fb)-1],VarByte);
p := VarArrayLock(v);
move(fb,p^,Sizeof(fb));
TVarBytesField(FieldByName('Font')).AsVariant := v;
VarArrayUnLock(v);
但是新的问题产生了:
1,SetData方法为什么怎么用.
2,表被更新后,Access2000不认识.