PDA

View Full Version : بازیابی فایل صوتی از SQLSEREVER



sarina
دوشنبه 23 اردیبهشت 1387, 10:23 صبح
با سلام
یک فایل صوتی با فرمت wma را میخواهم بصورت باینری در یک فیلد image در دیتابیس ذخیره و سپس بازیابی نمایم ( با همان فرمت wma)
اگه در این زمینه کسی رفرنسی داره لطفا اینجا بذاره یا بطور کلی مراحل را توضیح دهید
با تشکر

hozouri
دوشنبه 23 اردیبهشت 1387, 12:28 عصر
یک جدول بنام TFile در SQL Server 2000 ایجاد کنید. من در بانک Master اینکار رو کردم.
2 تا فیلد با مشخصات زیر ایجاد کنید:
1- name nvarchar key
2-wma image allow null

حالا این کد برای ذخیره در بانک (برای هر فایلی میتونید استفاده کنید) برای مثال از آدرس C:\\1.wma استفاده کردم.
کد:
FileStream fs = new FileStream("d:\\1.wma",FileMode.Open);
FileInfo fi = new FileInfo("d:\\1.wma");
byte[] wma = new byte[(int)fi.Length];
fs.Read(wma, 0, (int)fi.Length);

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=master;Persist Security Info=True;Password=1;User ID=sa");
con.Open();
SqlCommand com = new SqlCommand("Insert into TFile (name,wma) Values (@name,@wma)", con);
com.Parameters.Add("name", SqlDbType.NVarChar).Value = "1.wma";
com.Parameters.Add("wma", SqlDbType.Image).Value = wma;
com.ExecuteNonQuery();
con.Close();
اینم کد برای بازیابی از بانک (برای مثال در مسیر d:\\222.wma استفاده کردم)
کد:
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=master;Persist Security Info=True;Password=1;User ID=sa");
con.Open();
SqlDataReader dr;
SqlCommand com = new SqlCommand("select * from TFile", con);
dr = com.ExecuteReader();
dr.Read();
byte[] wma = (byte[])dr.GetValue(1);
FileStream fs = new FileStream("d:\\222.wma", FileMode.Create);
fs.Write(wma, 0, wma.Length);
fs.Close();
con.Close();

ابته شما هر فایلی با هر پسوندی رو میتونید در داخل بانک اطلاعاتی ذخیره و بازیابی نمایید برای اجرای فایل هم پس از بازیابی باید از مسیر بازیابی فراخوانی کنیدش

hozouri
دوشنبه 23 اردیبهشت 1387, 12:30 عصر
این کد هم برای اجرای فایل ها
System.Diagnostic.Process.Start(C:\\222.wma);

mohammed
یک شنبه 12 خرداد 1387, 18:20 عصر
سلام

لطفا کدهایتان را چپ به راست کنید تا خوانا تر باشند.

با تشکر فراوان