سلام
من داخلSQL یه SP ساختم به نام pDBBackup
کد HTML:
ALTER procedure [dbo].[pDBBackup] 
@BackupName varchar(50)
As

BACKUP DATABASE [anbardari] TO DISK =  @BackupName
WITH
compression,
NOFORMAT,
NOINIT,
NAME = N'Full Database Backup',
SKIP,
NOREWIND,
NOUNLOAD,
STATS =10
RETURN
این SP از داخل SQL کار میکنه و فایل بکاپ ساخته میشه .

حالا میخوام از داخل کدها path + filename.bak رو به @BackupName بفرستم و sp اجرا بشه . همه چیز درست کار میکنه . حتی BackupName@ درست ساخته میشه اما توی خط آخرم وقتی که روی باتن کلیک میکنم برنامه به catch میپره .

کد باتنم به صورت زیر هست:
کد HTML:
 private void btn_getbackup_click(object sender, RoutedEventArgs e)
        {
            try
            {
                
                Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
                dlg.Filter = @"SQL Backup files (*.bak) |*.bak|All files (*.*) |*.*";
                dlg.DefaultExt = "bak";
                dlg.InitialDirectory = "D:";
                dlg.FileName = publicvariable.guserid + "_" + String.Format("{0:yyyyMMdd}", Convert.ToDateTime(calender_set.Text)) + "_" + String.Format("{0:00}", DateTime.Now.Hour) + "" + String.Format("{0:00}", DateTime.Now.Minute) + "" + String.Format("{0:00}", DateTime.Now.Second);
                string filename = "";
                string path = "";

                if (dlg.ShowDialog() == true)
                {
                    filename = System.IO.Path.GetFileName(dlg.FileName);
                    path = System.IO.Path.GetDirectoryName(dlg.FileName);
                    
                    payegah.pDBBackup("'"+dlg.FileName+"'");
                    

                }


                else
                {
                    System.Windows.MessageBox.Show("نام فایل غیر معتبر می باشد");
                   return;
                }
               
               

                    System.Windows.MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
            }
            
            catch(Exception ex)
            {
                System.Windows.MessageBox.Show("خطایی در پشتیبان گیری به وجود آمده " + ex.ToString());
            }

        }
click.jpgError.jpg

ممنون میشم راهنمایی کنید .