PDA

View Full Version : ذخیره فیلم در دیتابیس Access



arash69
پنج شنبه 30 آذر 1391, 00:27 صبح
سلام.
میخوام فیلم رو درون پایگاه داده Access ذخیره کنم.
چیکار باید انجام بدم؟

arash69
پنج شنبه 30 آذر 1391, 19:08 عصر
دوستان، کسی نمیدونه؟

ordebehesht
پنج شنبه 30 آذر 1391, 19:18 عصر
من تو اینترنت سایتهای مختلف گشتم در موردش چیزی پیدا نکردم ولی فکر کنم بهترین کار اینه که آدرس محل ذخیره سازی رو جدولت ذخیره کنی هم حجم پایگاه دادت کم میشه و راحتر قابل دستیابی هستش

arash69
پنج شنبه 30 آذر 1391, 19:33 عصر
من تو اینترنت سایتهای مختلف گشتم در موردش چیزی پیدا نکردم ولی فکر کنم بهترین کار اینه که آدرس محل ذخیره سازی رو جدولت ذخیره کنی هم حجم پایگاه دادت کم میشه و راحتر قابل دستیابی هستش
ممنون از پاسخ تان.
می دونم که اونطوری حجم پایگاه داده کم میشه، ولی میخوام که خود فیلم رو درون پایگاه داده ذخیره کنم.

Mahmoud Zaad
پنج شنبه 30 آذر 1391, 20:10 عصر
سلام
به صورت زیر:

OleDbCommand cm = new OleDbCommand("INSERT INTO t1 (name,ole) VALUES(@p1,@p2)", cn);
cm.Parameters.AddWithValue("@p1", FileAddress);
if (FileAddress != null)
{
FileStream fs = new FileStream(FileAddress, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
cm.Parameters.AddWithValue("@p2", bytes);

}
else
{
cm.Parameters.AddWithValue("@p2", DBNull.Value);
}
cn.Open();
cm.ExecuteNonQuery();
cn.Close();
MessageBox.Show("ثبت شد", "ثبت");

همونطور که می دونید باید یه فیلد از نوع OLE در دیتابیس تعریف کنید. من اسمش رو گذاشتم ole. اون if هم برای اینکه اگه فیلمی یا فایلی نبود ارور نداشته باشیم. (با این کدها هر نوع فایلی رو میشه ذخیره کرد.)
FileAddress هم از نوع string و آدرس فایل انتخابی هست که من از OpenFileDialog به دست آوردم، اینجوری:
try
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "انتخاب فایل";
if (ofd.ShowDialog() == DialogResult.OK)
{
//textBox1.Text = ofd.FileName.Remove(0,ofd.FileName.Length-3);
FileAddress = ofd.FileName;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

arash69
جمعه 01 دی 1391, 21:19 عصر
یه سول دیگه تقریبا توی همین زمینه داشتم.
اگه بخوام فایل ویدئویی دخیره شده در پایگاه داده رو بازیابی کنم، به چه صورت خواهد بود؟