PDA

View Full Version : سوال: بازیابی لیستی از عکسهای باینری از دیتابیس به سی شارپ(با LINQ)



ashkan1234
دوشنبه 18 فروردین 1393, 15:06 عصر
سلام.
فرض کنید یک نوع داده ای باینری در بانک داریم که عکس درونش دخیره میشه!
حالا میخوام با استفاده از لینک همه عکس ها رو ببرم توی ریپورت!
واسه اینکه نوع باینری تبدیل بشه به image باید از بایت و مموری استریم و ایمیج استفاده کرد!
با فرستادن یه دونه عکس مشکلی ندارم ولی چند تا عکس رو نمیتونم توی کوئری سلکت لینک بیارم!
اینجارو ببینید(این برای خروجی یک عکس که مشکلی ندارم باهاش):
var inf = db.tbl_Informations.First();
byte[] arrPic = inf.INF_Logo.ToArray();
MemoryStream ms2 = new MemoryStream(arrPic);
Image img = Image.FromStream(ms2);
var header = new
{
Arm = img,
inf.INF_CompanyName,
inf.INF_Number
};
حالا اینو ببینید نمیدونم چه کنم:
var listId = (from DataGridViewRow row in DgWork.SelectedRows select (int)row.Cells["WPK_Id"].Value);
using (var db = new linqconectionDataContext())
{
var wpk = db.tbl_Workeds.Where(c => listId.Contains(c.WPK_Id));
var result = wpk.Select(c => new
{


PersonnelName = c.tbl_Personel.PRS_Name,


PersonnelImage=?
}
}
بجای علامت سوال چی بزارم؟؟؟؟:لبخند:

ashkan1234
سه شنبه 19 فروردین 1393, 00:09 صبح
در انتظار پاسخ...

mhsmity
سه شنبه 19 فروردین 1393, 00:17 صبح
سلام به نظر من تنها کار سخت وقتی هست که می خوای عکس رو درون بانک ذخیره کنی وقتی یه بار انجام دادی حله و دیگه برات سختی نداره

من الان هیچ مشکلی با نمایش عکس ذخیره شده در بانکم ندارم
اگه کریستال ریپورت باشه
اگر دیتا گرید ویو باشه
اگه یه دیتا تیبل باشه
اگه یه پیکچر بکس باشه

حالا نمایش یه عکس داخل یه گزارش این قدر کد داره که آخر سر هم سوال پرسیدن من سر در نمیارم.

ashkan1234
سه شنبه 19 فروردین 1393, 00:26 صبح
سلام به نظر من تنها کار سخت وقتی هست که می خوای عکس رو درون بانک ذخیره کنی وقتی یه بار انجام دادی حله و دیگه برات سختی نداره

من الان هیچ مشکلی با نمایش عکس ذخیره شده در بانکم ندارم
اگه کریستال ریپورت باشه
اگر دیتا گرید ویو باشه
اگه یه دیتا تیبل باشه
اگه یه پیکچر بکس باشه

حالا نمایش یه عکس داخل یه گزارش این قدر کد داره که آخر سر هم سوال پرسیدن من سر در نمیارم.
سلام بنده با ذخیره عکس مشکلی ندارم.
با واکشی عکس بصورت تکی هم مشکلی ندارم!اصلا مسله ریپورت نیست!
شما فرض کن همه عکسها رو میخوام بریزم داخل دیتاگرید!

mhsmity
سه شنبه 19 فروردین 1393, 00:54 صبح
سلام بنده با ذخیره عکس مشکلی ندارم.
با واکشی عکس بصورت تکی هم مشکلی ندارم!اصلا مسله ریپورت نیست!
شما فرض کن همه عکسها رو میخوام بریزم داخل دیتاگرید!

خوب بصورت یه دیتا تیبل عکس ها رو واکش کن بد بریز داخل دیتا گرید ویو به همین راحتی

DataTable dt = new DataTable();
dt = fiil("select pic from tblmain");

DataGridView d = new DataGridView();
d.DataSource = dt;

تو دیتا گرید و یو خود یه ستون درست کن با مشخصات زیر
نامش : Pic
ColumnType: DataGridViewImageColumn
DataPropertyName: pic

منتظر نتیجه کار شما هستم

ashkan1234
سه شنبه 19 فروردین 1393, 10:41 صبح
سلام.
ممنون که جواب دادید.
عزیز دل برادر داده باینری که توی ستون image نمیشینه!
این باینری باید تبدیل بشه به ایمیج!
مشکلم دقیقا همینه که یک لیست از عکسهای باینری رو نمیتونم تبدیل کنم به یک لیست از image.
ولی یک عدد باینری رو میتونم تبدیل کنم به ایمیج.
تاکید میکنم نوع داد عکس در بانک اطلاعاتی binary هستش.به اولین کدی که قرار دادم دقت کنید.