读书人

*新手有关access的ole字段怎么写sql查

发布时间: 2012-03-09 21:42:52 作者: rapoo

********************新手有关access的ole字段如何写sql查询和插入语句的问题**********
问题1:access数据库中有a表,某字段b为ole对象(想插入一个字节数组里面的数据)
如果利用delphi来执行一个sql语句来插入一条记录,不知道该如何写sql语句
insert a (b) values(???????????
请各位老大帮忙看看如何解决或者有更好的办法来存储数据同时也方便查询!

问题2:另外查询a表的时候,我可能要截取字段b的值(相应存储的时候用到的字节数组,我想要取到第3,第4,第5字节的数据),不知道应该如何写,请各位给出具体的sql语句


[解决办法]
:(
[解决办法]
1,
insert (字段名1,字段名2,...) values(值1,值2,......)

2,select mid(字段名,截取位置(数字),截取长度) from 表名
[解决办法]
那sorry了,我确实理解不了你的问题了,如果你能说清楚点的话我认为会更好
[解决办法]
var
data : array [0..5] of byte;
ms:TMemoryStream;
begin
ms:=TMemoryStream.Create;
ms.WriteBuffer(data,6);
AdoQuery1.Close;
AdoQuery1.SQL.Text:= 'insert a(b) values(:b) ';
AdoQuery1.Parameters[0].LoadFromStream(ms,ftBlob);
ms.Free;
[解决办法]
var
data : array [0..5] of byte;
ms:TMemoryStream;
begin
ms:=TMemoryStream.Create;
ms.WriteBuffer(data,6);
AdoQuery1.Close;
AdoQuery1.SQL.Text:= 'insert a(b) values(:b) ';
AdoQuery1.Parameters[0].LoadFromStream(ms,ftBlob);
AdoQuery1.ExecSQL;
ms.Free;
[解决办法]
你这样做看看
try
AdoQuery1.Open;
AdoQuery1.First;
mystm :=AdoQuery1.CreateBlobStream(AdoQuery1.FieldByName( 'cardno '),bmRead);
mystm.Position :=0;
showmessage(inttostr(mystm.Size));
mystm.ReadBuffer(mybyte[0],4);
except
showmessage( 'error ');
end;
[解决办法]
我看你的描述,其实通过上面的代码你可以发现最后可以转化位字节数组的比较,并不需要在sql语句截取,何况还不方便.

读书人网 >.NET

热点推荐