هل أستطيع تخزين شيء غير النص في قاعدة بيانات أكسس مثل صورة أو صوت؟
وكيف أستطيع عرضه (الصورة مثلا) في السي شارب؟؟؟
هل أستطيع تخزين شيء غير النص في قاعدة بيانات أكسس مثل صورة أو صوت؟
وكيف أستطيع عرضه (الصورة مثلا) في السي شارب؟؟؟
يمكنك ذلك باستخدام ال OLE Object إذ تمكنك من تخزين أي شيء يتم تحويلة إلى Byte Array وبعد تخزنها في الذاكرة على شكلStream ومن ثم نمررها إلى ال insert وكما يلي :
public void Store_it (byte[] content)
{
try
{
oleDbConnection1.Open();
OleDbCommand insert = new OleDbCommand( "insert into img values (?)",oleDbConnection1);
insert.Parameters.Add(new OleDbParameter("@pic", OleDbType.Binary)).Value = content;
insert.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally {oleDbConnection1.Close();}
}وللقراءة نستخدم الكود التالي:
oleDbDataAdapter1.SelectCommand.CommandText = "select * from img"; oleDbDataAdapter1.Fill(dsPictures1); byte[] arrPicture = ((byte[]) (dsPictures1.Tables[0].Rows[0]["pic"])); MemoryStream ms = new MemoryStream(arrPicture); pictureBox2.Image = Image.FromStream(ms);
وهذا مثال بسيط :
تم تعديل هذه المشاركة بواسطة fmo_82 في 30 يناير 2006 في 19:12
هذا الموضوع مغلق.