小弟想求一个edit\DateTimePicker1(或者其他时间控件)、然后图片写入数据库的例子。
要这三个一起写入数据库。如果有在给一个从数据库中取出的例子。谢谢了!!!分不多,大家就当做做好事。数据库用access或者sql server都可以
谢谢了!!!谢谢了!!!谢谢了!!!谢谢了!!!

解决方案 »

  1.   

    读: 
    TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");TBlobStream * pmem=new TBlobStream(pField,bmRead);pmem->Seek(0,soFromBeginning);Graphics::TBitmap * pBitmap=new Graphics::TBitmap();pBitmap->LoadFromStream(pmem);Image1->Picture->Assign(pBitmap);delete pBitmap;delete pmem;写:TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");TBlobStream * pmem=new TBlobStream(pField,bmWrite);pmem->Seek(0,soFromBeginning);Graphics::TBitmap * pBitmap=new Graphics::TBitmap();pBitmap->Assign(Image1->Picture->Graphic);pBitmap->SaveToStream(pmem);delete pBitmap;delete pmem;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库! 
     
      

  2.   

    procedure TAutoForm.Button1Click(Sender: TObject);
    var
        MS_JpegStream1:TMemoryStream;
        M_Jpeg1:TJpegImage;
    begin
        ms_jpegstream1:=tmemorystream.Create;
        m_jpeg1:=tjpegimage.Create;
        m_jpeg1.Assign(image1.Picture);
        m_jpeg1.SaveToStream(ms_jpegstream1);
        with adoquery1 do
        begin
          close;
          sql.Clear;
          sql.Add('insert into jc_ryjcxx(xm,sfz,zp)(:xm,:sfz,:zp)');
          parameters.ParamByName('mx').Value:=edit1.text;
          parameters.parambyname('sfz').value:=formatdatetime('yyyy-mm-dd',datetimepicker1.datetime);
          parameters.ParamByName('zp').LoadFromStream(ms_jpegstream1,ftblob);
          execsql;
        end;
        ms_jpegstream1.Free;
        m_jpeg1.Free;
        ShowMessage('Sucess!'); 
    end;
      

  3.   

    if Adoquery1.FieldByName('zp').AsVariant<>'' then
                        begin
                          Stream.Clear;
                          TBlobfield(Adoquery1.FieldByName('zp')).SaveToStrea(Stream);
                          Stream.Seek(0,soFromBeginning);
                          Jpeg.LoadFromStream(Stream);
                          image6.Picture.Bitmap.Assign(Jpeg);
                        end;
      

  4.   

    l_xiaofeng(≈流水≈不腐≈) 老兄,我想问你一个很愚蠢的问题。
    TMemoryStream这个是一个控件吧?如果是一个控件这个控件在那个标签页上?我在我的delphi7里面找个一直没有找到。希望你告诉一下。
      

  5.   

    l_xiaofeng(≈流水≈不腐≈) 老兄
    parameters.parambyname('sfz').value:=formatdatetime('yyyy-mm-dd',datetimepicker1.datetime);
    这句formatdatetime这个是什么意思?起什么作用?
    这句我是完全不明白是什么意思了,能不能解释一下
    parameters.ParamByName('zp').LoadFromStream(ms_jpegstream1,ftblob);这句
    sql.Add('insert into jc_ryjcxx(xm,sfz,zp)(:xm,:sfz,:zp)');
    能不能改成
    sql.Add('insert into jc_ryjcxx(xm,sfz,zp)values("'xm'","'sfz'","'zp'")');
      

  6.   

    openpicturedialog1.Execute;
     dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
    用dbimage是最简单的~~楼主信誉值................
      

  7.   

    这句formatdatetime这个是什么意思?起什么作用?
    //格式化日期格式。也可以formatdatetime('yyyy-mm-dd hh:mm:ss',datetimepicker1.datetime);
    sql.Add('insert into jc_ryjcxx(xm,sfz,zp)values("'xm'","'sfz'","'zp'")');
    //是我写错了,忘加了VALUES,我使用的是参数的方法。
    parameters.ParamByName('zp').LoadFromStream(ms_jpegstream1,ftblob);
    //这是LOAD流,然后保存到数据库
    还有TMEMORYSTREAM是内存流的意思,在帮助你都可以找到!