C# 如何通过WinC表单备份SQL Server数据库#
我遇到了一个需要通过Winforms备份数据库的问题。为了完成这项任务,我设法找到了一个示例SQL代码 我的问题是:C# 如何通过WinC表单备份SQL Server数据库#,c#,sql-server,database-backups,C#,Sql Server,Database Backups,我遇到了一个需要通过Winforms备份数据库的问题。为了完成这项任务,我设法找到了一个示例SQL代码 我的问题是: SqlConnection CON = new SqlConnection("Data Source=DBS\\DB;Initial Catalog=" + metroTextBox1.Text + ";Integrated Security=True"); Sql = "BACKUP DATABASE " + metroComboBox1.Text + " TO DISK =
SqlConnection CON = new SqlConnection("Data Source=DBS\\DB;Initial Catalog=" + metroTextBox1.Text + ";Integrated Security=True");
Sql = "BACKUP DATABASE " + metroComboBox1.Text + " TO DISK = '" + metroTextBox4.Text + "\\" + metroComboBox1.Text + "-" + DateTime.Now.Ticks.ToString() + ".bak'";
我不知道下一步怎么办。在这个场景中我应该使用什么?(ExecuteScalar
,ExecuteNonQuery
等)
任何帮助都将不胜感激
请注意,备份文件名中也有日期时间。定义要执行的SQL命令,然后实例化一个
SqlCommand
。由于SQL语句不应返回任何数据(结果集等),请使用ExecuteNonQuery
:
string Sql = "BACKUP DATABASE " + metroComboBox1.Text + " TO DISK = '" + metroTextBox4.Text + "\\" + metroComboBox1.Text + "-" + DateTime.Now.Ticks.ToString() + ".bak'";
using(SqlConnection CON = new SqlConnection("Data Source=DBS\\DB;Initial Catalog=" + metroTextBox1.Text + ";Integrated Security=True"))
using(SqlCommand cmdBackup = new SqlCommand(Sql, CON))
{
// open connection, execute command, close connection
CON.Open();
cmdBackup.ExecuteNonQuery();
CON.Close();
}
一般守则:
using (var conn = new SqlConnection(connString))
{
conn.Open();
using (var comm = conn.CreateCommand())
{
comm.CommandType = CommandType.Text;
comm.CommandText = "BACKUP DATABASE...";
comm.ExecuteNonQuery();
}
}