【问题标题】:How to back up SQL Server database via Winforms C#如何通过 Winforms C# 备份 SQL Server 数据库
【发布时间】:2017-12-24 08:25:13
【问题描述】:

我遇到了需要通过 Winforms 备份数据库的问题。我设法找到了一个示例 SQL 代码来完成这项任务。

我的查询在这里:

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'";

我不知道下一步该怎么做。在这种情况下我应该使用什么? (ExecuteScalarExecuteNonQuery..等)

任何帮助将不胜感激。

请注意,备份文件名中也有日期时间。

【问题讨论】:

    标签: c# sql-server database-backups


    【解决方案1】:

    您定义要执行的 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();
    }
    

    【讨论】:

      【解决方案2】:

      通用代码:

      using (var conn = new SqlConnection(connString))
      {
          conn.Open();
          using (var comm = conn.CreateCommand())
          {
              comm.CommandType = CommandType.Text;
              comm.CommandText = "BACKUP DATABASE...";
              comm.ExecuteNonQuery();
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多