مشکل در لود چند عکس از دیتابیس
سلام دوستان من یه table دارم که 1کلید داره و هر رکورد 5تا فیلد عکس میخواستم اونها رو تو picturebox یه فرم به شکل جداگانه نشون بدم بدون توجه به اینکه کاربر در هر رکورد چند تا عکس ذخیره کرده وقتی بخوام به صورت معمولی این کار رو انجام بدم اگه یکی از فیلدها خالی باشه برنامه Error میده از دوستان کسی میتونه کمک کنه؟
نقل قول: مشکل در لود چند عکس از دیتابیس
خوب وقتی SELECT زدید مقدار های SqlCommand اندیس فیلدها رو چک کنید اگه 0 نبود عملیات رو انجام بدین
نقل قول: مشکل در لود چند عکس از دیتابیس
از یه همچین چیزی باید استفاده کنی
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 هم که همون کانکشن استرینگه دیگه
امیدوارم مشکلت حل بشه