请问如何用SQL语句往SQLSERVER2000里插入图片

解决方案 »

  1.   

    查帮助吧,估计这个和向数据库里插入TEXT型差不多。猜测…………
      

  2.   

    temp:='insert into YWLXDYB(YWXH,NAME,FAXNAME,SVOX,EVOX,SVOXFILE,EVOXFILE) values("'+edit1.text+'","'+edit2.text+'","'+edit3.text+'",:svox,:evox,"'+edit4.text+'","'+edit5.text+'")' 
    dm.Qwh.SQL.Text:=temp; 
    dm.Qwh.ParamByName('svox').LoadFromFile(edit4.text,ftBlob);
      

  3.   

    //rs:TADODataSet;
          rs.CommandText:='select * from talbe1 where col1=''条件''';
          rs.Open;
          rs.Edit;      TBlobField(rs.FieldByName('col2')).LoadFromFile(sFileName{文件});      rs.Post;
          rs.Close;
      

  4.   

    转,纯Sql语句实现
    用image类型方法:
    1、建立过程
    CREATE PROCEDURE sp_textcopy ( 
      @srvname    varchar (30), 
      @login      varchar (30), 
      @password    varchar (30), 
      @dbname      varchar (30), 
      @tbname      varchar (30), 
      @colname    varchar (30), 
      @filename    varchar (30), 
      @whereclause varchar (40), 
      @direction  char(1)) 
    AS 
    DECLARE @exec_str varchar (255) 
    SELECT @exec_str = 
            'textcopy /S ' + @srvname + 
            ' /U ' + @login + 
            ' /P ' + @password + 
            ' /D ' + @dbname + 
            ' /T ' + @tbname + 
            ' /C ' + @colname + 
            ' /W "' + @whereclause + 
            '" /F ' + @filename + 
            ' /' + @direction 
    EXEC master..xp_cmdshell @exec_str  2、建表和初始化数据
    create table 表名 (编号 int,image列名 image)
    go
    insert 表名 values(1,0x)
    insert 表名 values(2,0x)
    go3、读入
    sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I' --注意条件是 编号=1sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','I' --注意条件是 编号=2go4、读出成文件
    sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','O' --注意条件是 编号=1sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','O' --注意条件是 编号=2
    go
      

  5.   

    插入
    open;
    append;
    (FieldByName('字段名') as TBlobField).LoadFromFile(OpenDialog1.filename);
    post;
    显示
    open;
      (FieldByName('accessory') as TBlobField).VCLComObject :=nil;
      //把图片生成一个文件,放在程序目录 ,名字是 temp_image.jpg(最好只用jpg图片)
      (FieldByName('accessory') as TBlobField).savetoFile(ExtractFilePath(Application.ExeName)+'\temp_image.jpg');
    //显示
       image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)   +'\temp_image.jpg');
      //删除文件
      deletefile(ExtractFilePath(Application.ExeName)+'\temp_image.jpg');
      

  6.   

    显示
    a:TMemoryStream;
    begin
    a:=tmemoryStream.Create;
    a.clear;
    TBlobField(ADODataSet1.FieldByName('file')).SavetoStream(a);
    image1.picture.Graphic.LoadFromStream(a);
    a.free;
      

  7.   

    别告诉我你要在SQL SERVER中显示出来啊,编程显示啊,在库中存的是二进制格式的,
      

  8.   

    回复人: qizhanfeng(glacier)
    的好一点
      

  9.   

    var
      pic : Tjpegimage;
    begin
      pic := Tjpegimage.Create;
      pic.LoadFromFile(openpicturedialog1.FileName);  with dm.adoquery1 do
      begin
      close;
      sql.Clear;
      sql.Add('insert into  classmate(name,email,phone,memo,pic) values(:h1,:h2,:h3,:h4,:h5)');
      parameters[0].Value := nameedit.Text;
      parameters[1].Value := emailedit.Text;
      parameters[2].Value := phoneedit.Text;
      parameters[3].Value := memo1.Text;
      parameters[4].Assign(pic);
      try
      execsql;
      showmessage('保存成功');
      except
      showmessage('保存失败');  end;
      pic.Free;
      end;
    end;
      

  10.   

    image.picture.Graphic.LoadFromStream(a);//提示出错
    image.picture.Bitmap.LoadFromStream(a); //没反应
      

  11.   

    踪于搞定了:)
    Image.Picture.Bitmap.Assign(TBlobField(adocQuery.FieldByName('EP_Image')));
     //从数据库中读图片
      

  12.   

    对于BMP格式和JPG格式的图片,采用不同的方法都可以实现,
    BMP的直接使用TABLE就可以添加到数据库中,但是对于JPG格式的,
    我也是看了别人的例子,使用ADO给塞到数据库里的,读取也是一样的控件,
    采用ADO是因为他的流控制比较简单,
      

  13.   

    用流来存取
    procedure TForm1.QueryAddButtonClick(Sender: TObject);
    var
      s:TMemorystream;
    begin
      S:=TMemorystream.Create();
      image1.Picture.Bitmap.SaveToStream(S);
      s.Position:=0;
      Query.Close;
      Query.SQL.Clear;
      Query.SQL.Add('INSERT INTO TABLE3(Img,PID)');
      Query.SQL.Add('VALUES(:I,:ID)');
      Query.Parameters.Items[0].LoadFromStream(s,ftBlob);
      Query.Parameters.Items[1].Value:=1;
      Query.ExecSQL;
      s.Free;
    end;procedure TForm1.QueryReadButtonClick(Sender: TObject);
    var
      s:Tstream;
    begin
      Query.Close;
      Query.SQL.Clear;
      Query.SQL.Add('SELECT Img FROM TABLE3');
      Query.SQL.Add('Where PID=:ID');
      Query.Parameters.Items[0].Value:=1;
      Query.Open;
      with Query do
        s:=CreateBlobStream(Query.FieldByName('Img'),bmRead);
      image2.Picture.Bitmap.LoadFromStream(s);
      s.Free;
    end;procedure TForm1.UpdButtonClick(Sender: TObject);
    var
      s:Tstream;
    begin
      S:=TMemorystream.Create();
      image3.Picture.Bitmap.SaveToStream(S);
      s.Position:=0;
      Query.Close;
      Query.SQL.Clear;
      Query.SQL.Add('UPDATE TABLE3');
      Query.SQL.Add('SET Img=:I');
      Query.SQL.Add('WHERE PID=:ID');
      Query.Parameters.Items[0].LoadFromStream(s,ftBlob);
      Query.Parameters.Items[1].Value:=1;
      Query.ExecSQL;
      s.Free;
    end;
      

  14.   

    Delphi存取图像完整解决方案http://www.yesky.com/SoftChannel/72342371928440832/20030929/1733136_1.shtml