您的位置:程序门 -> delphi -> 数据库相关



如何在数据库中写入十六进制数?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在数据库中写入十六进制数?
发表于:2007-11-15 23:26:50 楼主
代码如下,table1的字段name为char类型,bina为binary类型。请高手赐教!谢谢!                
query.sql.text:='insert   into   table1   (name,bina)   values   (:p0,:p1)';
query.parameters[0].value:='myname';
query.parameters[1].value:=$ff;
query.prepared;
query.EXECsql;
发表于:2007-11-15 23:56:321楼 得分:0
insert       into       table1       (name,bina)       values       ('name',0xff)
发表于:2007-11-16 00:04:122楼 得分:0
delphi(pascal) code
function tohexstring(const buf; size: integer): string; const hextables: pchar = '0123456789abcdef'; var i: integer; s: pbyte; p: pchar; begin setlength(result, size * 2 + 2); s := @buf; p := pchar(result); p[0] := '0'; p[1] := 'x'; inc(p, 2); for i := 0 to size - 1 do begin p[0] := hextables[s^ shr 4]; p[1] := hextables[s^ and $f]; inc(p, 2); inc(s); p[0] end; end; var buffer: array [0..20] of byte; buffer[0] := $ff; buffer[1] := $00; ... query.sql.text := format('insert into table1 values(''%s'', %s);', ['myname', tohexstring(buffer[0], sizeof(buffer))]); query.EXECsql;
发表于:2007-11-16 00:04:453楼 得分:0
没调试,大概是这样。
发表于:2007-11-16 08:45:554楼 得分:0
query.sql.text:=   'insert       into       table1       (name,bina)       values       (:p0,:p1);   ';  
加一个分号


快速检索

最新资讯
热门点击