clientdataset上传二进制图片,哪位大大能帮忙看看,该如何处理
clientdataset上传二进制图片,哪位大大能帮忙看看
这个是 insert 语句
这个是给参数载入流,可运行到载入流就内存错误
------解决方案--------------------
Params.ParamByName('p_g_image' + IntToStr(I)).LoadFromStream(MS,ftBlob);
这个是 insert 语句
- Delphi(Pascal) code
with DataModule1.ds_ReleaseGoods do begin Close; CommandText := 'insert into t_SimpleGoods(g_b_ID,g_s_ID,g_Name,g_Fineness,g_Price,g_Detail,' + 'g_u_ID,g_image1,g_image2,g_image3) values(:p_g_b_ID,:p_g_s_ID,:p_g_Name,:p_g_Fineness,' + ':p_g_Price,:p_g_Detail,:p_g_u_ID,:p_g_image1,:p_g_image2,:p_g_image3)';
这个是给参数载入流,可运行到载入流就内存错误
- Delphi(Pascal) code
MS := TMemoryStream.Create; for I := 1 to ImgCount do begin if Assigned(img1.Picture.Graphic) then begin img1.Picture.Bitmap.SaveToStream(MS); MS.Position := 0; TBlobField(Params.ParamByName('p_g_image' + IntToStr(I))).LoadFromStream(MS);//运行到这里内存错误 MS.Clear; end
------解决方案--------------------
Params.ParamByName('p_g_image' + IntToStr(I)).LoadFromStream(MS,ftBlob);