请问用存储过程怎么样一张图片插入到数据库中?

解决方案 »

  1.   

    create proc aaa
                @dict varchar(100)=c:\windows\a.jpeg
    as
    set nocount on
    /*
    you operction
    */调用:
    proc.close
    proc.parameters.parambyname('@dict').values:='d:\aa.Jpeg
    proc.open
    '
      

  2.   

    插jpg到sql servervar    aStream1          : TStream;
        jpg               : tjpegimage;    //在uses 加入 jpeg,db 单元
      
    插入
    jpg := tjpegimage.Create();
          try
                  dm.Query_image.open;
                  dm.query_image.insert;
                  aStream1 := dm.query_image.CreateBlobStream(dm.query_image.FieldByName('content'),bmReadWrite);
                  jpg.LoadFromFile(name);
                  jpg.SaveToStream(aStream1);
                  aStream1.Free;
                             dm.query_image.Post;       finally
          jpg.Free;
          end;取出                     if dm.query_image.State <> dsBrowse  then exit;
                         if dm.query_image.FieldByName('content').IsNull then Exit;  //判断状态,content是我表里存放jpeg的field
                         dm.query_image.open;
                    
                         aStream1 := dm.query_image.CreateBlobStream(dm.query_image.FieldByName('content'), bmRead);
                         try
                            aStream1.Position := 0;
                            jpg:= tjpegimage.Create();
                            try
                               jpg.LoadFromStream(aStream1);
                               jpg.SaveToFile(ipath); //ipath:string 存放路径与文件名
                            finally
                               jpg.Free;
                            end;
                         finally
                            aStream1.Free;
                         end;
                    end;
      

  3.   

    注意,我问的是用StoredProc1控件。
      

  4.   

    with StoredProc1 do
    parameters.ParamByName('@imageData').LoadFromStream(imageStream);
    //加入其它参数
    execproc;
    if parameters.ParamByName('@Return_value').Value <> '0' then
      showMessage('执行出错');
    close
    end;