سلام. من یه برنامه ساختم که به یه پایگاه داده MySql روی سرور اینترنتی وصل میشه و تو اون یه فایل (عکس) رو ذخیره می کنه. البته گاهی هم می خواهم این فایل (عکس) رو از پایگاه داده دریافت کنم و مشاهده کنم.
خوب از اونجا که کاربر برنامه با اینترنت دیال آپ کار می کنه پس حتما کارش یه ۲ یا ۳ دقیقه ای طول می کشه.
(حجم فایل ها حد اکثر ۲۰۰ کیلو بایت هست)
من هرچی سرچ کردم دیدم تو برنامه ، متناسب با پیشرفت کد مقدار ولوی پروگرس بار رو افزایش می دن. مثلا برای سرچ به ازای سطرهای سرچ شده افزایشش می دن یا ...
اما مشکل من این جاست که نمی دونم در هر لحظه چه حجمی از فایل من آپلود شده تا متناسب با اون پروگرس بارم رو پر کنم.
کد INSERT رو پایین نشون دادم:
MySqlConnection con = new MySqlConnection("host=**********; user=*********; password=***********; database=*********;");
MySqlCommand cmdStrInsert = new MySqlCommand("INSERT INTO quiz VALUES(null, @ file, @FormateFile, @nameFormateFile)", con);
cmdStrInsert.Parameters.AddWithValue("@file", File.ReadAllBytes(MasireFile));
cmdStrInsert.Parameters.AddWithValue("@FormateFile ", FormateFile);
cmdStrInsert.Parameters.AddWithValue("@nameFormate File", NameFormateFile);
GereftaNameFormateFile(); // گرفتن نام نوع فایل
con.Open();
cmdStrInsert.ExecuteNonQuery();
con.Close();
بدبختی اینجاست که توی دو خط کارم طول می کشه یکی اونجا که می خواد کانکشن رو باز کنه و یکی هم
cmdStrInsert.ExecuteNonQuery
یه راه مسخره رو هم امتحان کردم : بعد از هر خط یه مقدار به ولوی پروگرس بار اضافه کردم و دیدم که پروگرس بار کاملا هماهنگ با کارم پیش رفت ولی نحوه پرشدنش خنده دار بود. دقیقا سر همین دو خطی که گفتم کلی وای میسه و بعد یهو پر می شه. این که به درد نمی خوره.
چطوری می تونم بفهمم که هر لحظه چه مقدار از فایلم آپلود شده تا بر اساس اون پروگرس بارو پر کنم؟