لدي مشروع بلغة C# قمت بعمل الأتي لإضافة قاعدة بيانات داخل المشروع بهذه الطريقة:

ثم قمت بإضافة button لعمل backup لقاعدة البيانات التي سبق إنشاؤها من داخل soulution explorer الخاصة بالمشروع وقمت بإضافة saveFileDialog بالشكل التالي:

وقمت بإدراج المكتبات الخاصة بعملية الـ backup and restor الاكواد الخاصة بذلك هي:
using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common;
ثم قمت بكتابة الكود التالي داخل الـ button لعمل backup لقاعدة البيانات التي سبق انشاؤها داخل المشروع
try
{
saveFileDialog1.Filter = "SQL Server database backup files|*.bak";
saveFileDialog1.Title = "Database Backup";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\Database1.mdf;Integrated Security=True;User Instance=True";
using (SqlConnection conn = new SqlConnection(connStr))
{
string sqlStmt = String.Format("BACKUP DATABASE Database1 TO DISK='{0}'", saveFileDialog1.FileName);
using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
{
conn.Open();
bu2.ExecuteNonQuery();
conn.Close();
MessageBox.Show("ok");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}لكن هذا الكود لا يعمل ... كيف يمكنني القيام بعمل backup لقاعدة بيانات مرفقة داخل مشروع مثل السابق ... بحيث عند إعطاء المشروع إلى أحد العملاء يستطيع عمل backup لقاعدة البيانات ..
ملحوظة: قمت بتجربة العديد من الاكواد ولكن بلا جدوى ...
سؤال أخر كيف يمكن التعديل على الكود السابق لعمل restor لقاعدة البيانات بعد اختيار المستخدم لمسار نسخة الـ backup التي سبق إنشاؤها
أرجو مشاركتي الحل ... وشكرا ...

