如何將image 中的圖片保存到桌面型數據庫中對應的字段﹗謝謝 ﹗

解决方案 »

  1.   

    if FileExists('c:\jpg1.jpg') then
    begin
    Stream1 := TFileStream.Create('c\jpg1.jpg', fmOpenRead);
    Adc_image.CommandText := 'INSERT INTO [image1] values(:file_no, :image1)';
    Adc_image.Parameters.ParamValues['file_no']:='2';
    Adc_image.Parameters.Items[1].LoadFromStream(Stream1,ftBlob);
    Adc_image.Prepared ;
    Adc_image.Execute;
    Stream1.Destroy ;
    end
      

  2.   

    樓上的。能解說一下該段代碼的大意嗎﹖我有點不明白﹔
        為了不讓大家誤解題意﹐特強調說明﹕我在界面上放有一個image控件﹐通過opnepicturedialog將圖片導入到image控件中﹐現在就是要把image中的圖片保存到我的后台數據庫中(其實就是delphi自帶的*.db數據庫)該圖片數據存放到數據庫中的photo 字段中。現在我有遇到另一個麻煩﹐就是我一保存*.jpg格式的圖片就報錯﹐現在可以保存bmp 格式的圖片﹔我的存取代碼如下﹕with PicTab do
           begin
           append;
           FieldByName('name').asstring:=edit1.Text;
           FieldByName('address').asstring:=Memo1.Lines.Text;
           FieldByName('Photo').Assign(image1.picture);//其實我就用這一句就實現保存了。
           Try
           post;
           showmessage('數據已經成功提交﹗');
           為什么不保存jpg格式的文件呢﹖﹖﹖﹖﹖
      

  3.   

    begin
     Query1.close;
     Query1.sql.Text := 'insert into TT values(''01'', :image)';
     Query1.Params.Items[0].LoadFromFile('C:\aaa.jpg',ftBlob);
     Query1.ExecSQL;
    end
      

  4.   

    to:    PrgmLover(爱国者) 
         我就沒看明白﹔
        begin
     Query1.close;
     Query1.sql.Text := 'insert into TT values(''01'', :image)';//插入數據﹖怎么看見參數而不見賦值呢﹖
     Query1.Params.Items[0].LoadFromFile('C:\aaa.jpg',ftBlob);//我的界面上image的值怎么賦給它呢﹐也是通過這里加載嗎》﹖
     Query1.ExecSQL;
    end
      

  5.   

    to:    PrgmLover(爱国者) 
         不好意思﹐第一問﹐問錯了。第二問沒錯!
      

  6.   


    if OpenDialog1.Execute then
      begin
        AStress := OpenDialog1.FileName;
        Query1.close;
        Query1.sql.Text := 'insert into TT values(''01'', :image)';
        Query1.Parameters.ParamByName('image').Value:= 
        LoadFromFile(AStress,ftBlob);
        Query1.ExecSQL;
      end;
      

  7.   

    呵呵,还是看看我的帖吧。
    http://expert.csdn.net/Expert/topic/2274/2274235.xml?temp=.4971125
      

  8.   

    干脆把代碼貼出來﹐看情況治病吧﹕
          with PicTab do
           begin
           append;
           FieldByName('name').asstring:=edit1.Text;
           FieldByName('address').asstring:=Memo1.Lines.Text;
           FieldByName('Photo').assign(image1.picture);//添加圖片
           Try
           post;
           showmessage('數據已經成功提交﹗');
           我這段代碼為何不能添加jpg格式的圖片呢﹖一添加就報錯﹗
      

  9.   

    我用流解決了存儲jpg格式文件的問題﹐現在市在用dbimage顯示數據庫中的jpg格式遇到麻煩﹐現在顯示bmp格式的圖片一切正常﹐一到顯示jpg格式的就報錯﹗
      

  10.   

    報錯如下﹕
       bitmap image is not valid;
      

  11.   

    意思 明確﹕
         在dbimage中顯示數據庫中的jpg圖片。該如何....?
      

  12.   

    我已經在user里添加了jpeg;
         注意﹕是把數據庫中的jpg圖片顯示到dbimage 中....
      

  13.   

    创建一个jpeg对象A,将图片放入对象A中,A.loadfromfile(路径),
    然后,将对象A赋给相应的字段,tblobfied(相应的字段对象):=对象A
    释放对象A,就可以,试试吧!
      

  14.   

    创建一个jpeg对象A,将图片放入对象A中,A.loadfromfile(路径),
    然后,将对象A赋给相应的字段,tblobfield相应的字段对象):=对象A
    释放对象A,就可以,试试吧!
      

  15.   

    秀秀姐﹕你的方法在我這里還是行不通呀。我用的是delphi自帶的PARADOX數據庫呀。還是報錯﹕bitmap image is not valid;  我還是用的image控件呢﹖還沒用dbimage...!
      

  16.   

    你要保存的是位图文件,还是jpeg文件
    是jpeg试试:A:tjpegimage;
    A:=tjpegimage.create();
    a.loadfromfile(文件路径);
    tblobfield(table1.fields[1]):=a;
    a.free;
      

  17.   

    秀秀姐;你誤會我的意思 了。我現在是從數據庫中提取jpge格式的圖片到我的image或者dbimage中來﹐我現在數據庫中保存的bmp和jpg格式的圖片都有﹐現在是想提取它的任意一條記錄﹐同時可以顯示記錄的相關圖片。
      

  18.   

    dbimage只能放.bmp图片,用image
    a:=tjpegimage.Create ;
    a:=tblobfield(table1.fields[index]);
    image1.Picture:=tpicture(a);
    a.Free ;
      

  19.   

    http://218.56.11.178:8020/web/technology.aspx->下载基地->例程-数据库/报表->数据库图片bmp/jpg存储(Accsee)