小弟想求一个edit\DateTimePicker1(或者其他时间控件)、然后图片写入数据库的例子。
要这三个一起写入数据库。如果有在给一个从数据库中取出的例子。谢谢了!!!分不多,大家就当做做好事。数据库用access或者sql server都可以
谢谢了!!!谢谢了!!!谢谢了!!!谢谢了!!!
要这三个一起写入数据库。如果有在给一个从数据库中取出的例子。谢谢了!!!分不多,大家就当做做好事。数据库用access或者sql server都可以
谢谢了!!!谢谢了!!!谢谢了!!!谢谢了!!!
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;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!
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;
begin
Stream.Clear;
TBlobfield(Adoquery1.FieldByName('zp')).SaveToStrea(Stream);
Stream.Seek(0,soFromBeginning);
Jpeg.LoadFromStream(Stream);
image6.Picture.Bitmap.Assign(Jpeg);
end;
TMemoryStream这个是一个控件吧?如果是一个控件这个控件在那个标签页上?我在我的delphi7里面找个一直没有找到。希望你告诉一下。
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'")');
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
用dbimage是最简单的~~楼主信誉值................
//格式化日期格式。也可以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是内存流的意思,在帮助你都可以找到!