PDA

View Full Version : مشکل در ثبت با استفاده از ImageListView



mrali.jalali
شنبه 08 آبان 1395, 12:36 عصر
سلام . ی مشکل داشتم اگر راهنمایی کنید ممنون میشم
داخل برنامه کاربر چند تا عکس انتخاب میکنه و پس از تایید عکس ها در ImageListView نمایش داده می شه.
هر عکس معادل یک رکورد می باشد (به همراه یک سری اطلاعات دیگر)



class ArgDocPicScan
{
public byte[] Ar_DocPic;
public string Doctype;
public string DescFile;
public int DoctypeId;
public string DocTypeName;

}


List<ArgDocPicScan> ArgDocPicsScan = new List<ArgDocPicScan> ();





پس از انتخاب عکس ها ،توسط حلقه، list پر میشه




private void Btn_SelDoc_Click ( object sender, EventArgs e )
{

if (openFile_SelDoc.ShowDialog () == DialogResult.OK)
{

foreach (string NA in openFile_SelDoc.FileNames)//940604 برای انتخاب دسته ای عکس ها
{


ArgDocPicScan Argdoc = new ArgDocPicScan ();
Argdoc.Ar_DocPic = (byte[])ImageToByte ( Image.FromFile(NA) );
Argdoc.DescFile = txt_DescDoc.Text;
string DocTypeDoc = null;
ArgDocPicsScan.Add ( Argdoc );


}
}


}




ور در آخر ثبت میشه داخل دیتابیس . (عکس هم در دیتابیس باینری گرفتم .درست و غلطش بماند :|) .ثبت هم به صورت ترانزکشن می باشد (یا هیچ رکورد یا همه رکورد ها)



for (int i = 0; i < ArgDocPicsScan.Count; i++)
{
// if (ArgDocPicsScan[i].DoctypeId == null)
//{
//Frm_ErrorList.StrList.Add ( "در ردیف " + i.ToString () + "نوع سند انتخاب نشده است " );

//}
PatientDocumentManager.InsertDocPatient(ArgDocPics Scan[i].DoctypeId, 5, ArgDocPicsScan[i].Ar_DocPic, i.ToString(), ".jpg", '1', ArgDocPicsScan[i].DescFile, DateTime.Now, frmSplash.UserName);
}
مشکل من از اینجا شروع میشه که من اگر 80 تا 110تا عکس داشته باشم مشکلی نداره ذخیره می شه ولی اگر تعداد عکس ها بیشتر بشه رم کم میاره و خطا میده.با هر بار اجرا حلقه برای ثبت حجم اشغالی رم زیاد میشه .ببخشید سوالم طولانی شد :قلب: