ACCESS读写图片记录的问题,在线等!~~~

dronly 2008-04-01 11:47:16
想要一个比较标准的做法

希望能用sql 语言插入跟读取到相应的图像,或者Stream也可以

就是想在人员信息的类里面的一个成员加上图片的Stream或者适当的变量,希望能在读取记录和插入操作时可以比较一致

请高手指点,想是可以调试的代码,网络上找了很多都不行,万分感谢~~
...全文
179 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dronly 2008-04-02
  • 打赏
  • 举报
回复
谢谢,已经解决了,马上结帖给分
Behard 2008-04-01
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
{ADOTable1->DisableControls();
ADOTable1->Append();
ADOTable1pic->LoadFromFile(OpenDialog1->FileName);
ADOTable1name->Value=OpenDialog1->FileName;
ADOTable1->Post();
ADOTable1->EnableControls();
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
ADOTable1->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (SaveDialog1->Execute())
ADOTable1pic->SaveToFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ADOTable1->Active=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ADOTable1->Active=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DataSource1DataChange(TObject *Sender,
TField *Field)
{
TMemoryStream *s = new TMemoryStream();
ADOTable1pic->SaveToStream(s);
s->Position=0; //****流首位置必须为零***
TJPEGImage *jp = new TJPEGImage();
jp->LoadFromStream(s);
Image1->Picture->Bitmap->Assign(jp);
delete jp;
delete s;
}
ydlchina 2008-04-01
  • 打赏
  • 举报
回复


void __fastcall TForm2::Button4Click(TObject *Sender)
{
//SQL语句插入数据库图片
if (OpenDialog1->Execute())
{
TMemoryStream *s = new TMemoryStream();
s->LoadFromFile(OpenDialog1->FileName);
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("insert into blob (name,jpeg) values (:name,:jpeg)");
ADOQuery1->Parameters->ParamByName("name")->Value = OpenDialog1->FileName ;
ADOQuery1->Parameters->ParamByName("jpeg")->LoadFromStream(s,ftBlob);
ADOQuery1->ExecSQL();
delete s;
}

}
我来看看CB 2008-04-01
  • 打赏
  • 举报
回复
比较?
Waiting4you 2008-04-01
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080317/17/be249d2c-f852-47fa-9cab-498b3ad999f4.html
偶在2楼回的,把流存入MEMO字段。(ACCESS数据库里的数据只能存ASCII码,你可以找一个Base64转换函数先把图片转成ASCII再放进去)
dronly 2008-04-01
  • 打赏
  • 举报
回复
载入图片的试过了可以

但有 SQL 样式写进数据库的吗?

我要做的是人事信息上编辑的时候要把相片重Timage读成Stream 写进数据库

回显的时候同样从数据库读出Stream

有这样的例子吗?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧