我想用INSERT语句把本地机器上的图片插入到数据库中,但不知道这条命令怎么写!
现在有
table1:
  "id" INTEGER 
  "pic" BYTEA
这样一个表希望把本地G:\11.JPG插入到数据库中怎么插入

解决方案 »

  1.   

    用什么接口?  有的接口有封装2进制的上传,有的没有
    不过可以转化为字符串写入
    INSERT INTO VALUES (YOUR_ID,'XXXXXXXX'::BYTEA)字符串'XXXXXXX'如何得来,自己写个转化函数
    1. 打开图片文件,按字节读入, 以以下规则转化为新的字符串
    2. ASCII码为0-31,39,92,127-255,请将它转化为\\XXX(八进制). 其余不转化.
    3. 也可以每个字节都转化为\\XXX(八进制),但很长,浪费资源不明白,请参考PG文档的BYTEA字段类型
      

  2.   

    这个我也在做
    INSERT INTO VALUES (YOUR_ID,'XXXXXXXX'::BYTEA)
    语句好像很难哦
      

  3.   

    看你用什么工具了 delphi 中就这么简单
      qryWrite.Close;
      qryWrite.SQL.Clear;
      qryWrite.SQL.Add('insert into bigobj(img) values (:_img)');
      qryWrite.ParamByName('_img').LoadFromFile('c:\\clnt.jpg', ftBlob);
      qryWrite.ExecSQL;
      

  4.   

    不过我是使用的 Zeso lib 的控件哈!!!