PDA

View Full Version : مشکل در لود چند عکس از دیتابیس



silverman_200
سه شنبه 17 آذر 1388, 21:46 عصر
سلام دوستان من یه table دارم که 1کلید داره و هر رکورد 5تا فیلد عکس میخواستم اونها رو تو picturebox یه فرم به شکل جداگانه نشون بدم بدون توجه به اینکه کاربر در هر رکورد چند تا عکس ذخیره کرده وقتی بخوام به صورت معمولی این کار رو انجام بدم اگه یکی از فیلدها خالی باشه برنامه Error میده از دوستان کسی میتونه کمک کنه؟

AliRezaPro
سه شنبه 17 آذر 1388, 23:45 عصر
خوب وقتی SELECT زدید مقدار های SqlCommand اندیس فیلدها رو چک کنید اگه 0 نبود عملیات رو انجام بدین

kia1349
چهارشنبه 18 آذر 1388, 08:04 صبح
از یه همچین چیزی باید استفاده کنی





public struct personel
{

public string id, name,address;
public Image photo;
}




public personel getpersonInfo(int id)
{
SqlCommand cmd = new SqlCommand("select * from person where id=@id", cn);
cmd.Parameters.AddWithValue("@id", id);
SqlDataReader dr = cmd.ExecuteReader();
personel info = new personel();
if (dr.Read())
{
info.id = dr["id"].ToString();
info.name = dr["name"].ToString();
info.address = dr["address"].ToString();
if (dr["photo"].Equals(System.DBNull.Value))
info.photo = null;
else
{
byte[] arrPic = (byte[])(dr["photo"]);
MemoryStream ms = new MemoryStream(arrPic);
info.photo = Image.FromStream(ms);
}
}
return info;
}




بعد هم میتونی با کمک کد زیر



personel info = getpersonInfo(Int32.Parse(textBoxid.Text));
if (info.id == textBoxid.Text)
{
textBoxname.Text = info.name;
textBoxaddress.Text = info.address;
pictureBox1.Image = info.photo;




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