hi thanks mehdi for your answer but i want learn this way because in your suggest way it is dificult to restore database
it is true for backup:
string t = Convert.ToString(pf.Year) + "-" + Convert.ToString(pf.Month) + "-" + Convert.ToString(pf.Day);
conpa = path + "\\Backupofalaki" + t;
System.IO.Directory.CreateDirectory(conpa);
SqlConnection connect = new SqlConnection(con);
SqlCommand sc = new SqlCommand();
try
{
connect.Open();
textBox1.Text = connect.Database;
sc.CommandText ="BACKUP DATABASE[H:\\VISUAL STUDIO 2005\\PROJECTS\\WINDOWSAPPLICATION16\\WINDOWSAPPLICATION16\\BIN\\DEBUG\\bank.MDF] TO DISK = '" + conpa + "\\bank.MDF" + "'";
sc.Connection = connect;
sc.ExecuteNonQuery();
MessageBox.Show("success");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
MessageBox.Show("problem");
}
finally
{
if (connect.State == ConnectionState.Open)
connect.Close();
}
but is is have error for restore
try
{
string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bank.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection connect = new SqlConnection(con);
SqlCommand cmd = new SqlCommand();
connect.Open();
string s1 = "ALTER DATABASE bank SET OFFLINE WITH ROLLBACK IMMEDIATE";
string s2 = "ALTER DATABASE bank SET MULTI_USER";
string query = "RESTORE DATABASE bank FROM DISK ='" + path + "'" + "WITH FILE = 1, KEEP_REPLICATION, NOUNLOAD, REPLACE, STATS = 10";
cmd.CommandText = s1;
cmd.Connection = connect;
cmd.ExecuteNonQuery();
cmd.CommandText = s2;
cmd.Connection = connect;
cmd.ExecuteNonQuery();
cmd.CommandText = query;
cmd.Connection = connect;
cmd.ExecuteNonQuery();
connect.Close();
MessageBox.Show("restor success");
}
catch (Exception ex)
{
MessageBox.Show("errror");
MessageBox.Show(ex.Message);
}
i encountered with this exeption:
User does not have permission to alter database 'alaki' or the database does not exist.
ALTER DATABASE statement failed.
pleaze help