用OpenDialog向Access数据表中加载图片时出现的问题?
数据库是Access,数据表中设有图片字段(OLE对象)
在表单中通过单击DBImage1触发:
void __fastcall TInputForm::DBImage1Click(TObject *Sender)
{
//打开"添加相片"对话框
if(OpenDialog1->Execute() )
{
ADOTable2->Edit() ; //进入编辑模式
//将指定的图片加载到对应字段的Tfield组件内
ADOTable2DSDesigner15->LoadFromFile(OpenDialog1->FileName); //ADOTable2DSDesigner15:图片字段的Name
}
}
可是,在表单中加载图片后,保存数据时,提示:
'无法更新;正被机器"上的用户"锁定。'
请问,是什么原因?应该如何解决?
问题点数:0、回复次数:4Top
1 楼geniusdhc(为了东京大屠杀,努力奋斗+抵制日货)回复于 2003-11-01 18:33:37 得分 0
既然是mm我就说两句,不会;)
你的这种做法,本人没用过,如果把图片保存到数据库里是不是速度有点慢阿,可以只保存文件名.让程序自己到机器上加载.Top
2 楼kaimy(我爱芳芳)回复于 2003-11-01 20:51:30 得分 0
你这种方法我没用过。介绍一种新方法。
TMemoryStream *stream = new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(stream);
Table1->Insert();
((TGraphicField *)(Table1->FieldByName("image")))->LoadFromStream(stream);
Table1->Post();
delete stream;Top
3 楼mjer_pan(业余程序MM)回复于 2003-11-02 11:20:45 得分 0
那我要用OpenDialog选择图片文件,
Image1就是选择的文件吗?Top
4 楼mjer_pan(业余程序MM)回复于 2003-11-03 09:21:53 得分 0
谁能给我结合OpenDialog加载选择的图片文件的代码?Top




