Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更改数据库的大小_C# - Fatal编程技术网

C# 如何更改数据库的大小

C# 如何更改数据库的大小,c#,C#,我知道如何在SQL上更改数据库大小(在SQLServer2005Express版中) 如何使用C#?通过ExecuteNonQuery命令更改数据库大小: mySqlCommand = mySqlConnection.CreateCommand(); mySqlCommand.CommandText = "ALTER DATABASE Accounting MODIFY FILE (NAME = 'Accounting', SIZE = 25) "; mySqlConnection.Op

我知道如何在SQL上更改数据库大小(在SQLServer2005Express版中)


如何使用C#?

通过
ExecuteNonQuery
命令更改数据库大小:

mySqlCommand = mySqlConnection.CreateCommand();

mySqlCommand.CommandText =
  "ALTER DATABASE Accounting MODIFY FILE (NAME = 'Accounting', SIZE = 25) ";

mySqlConnection.Open();
int result = mySqlCommand.ExecuteNonQuery();
mySqlConnection.Close();
这里可以找到类似的示例(显示与快照隔离相关的问题,但IDEA基本相同):


以下示例将为您提供更好的概述。定义了参数后,您可以传递一些不需要的东西,这些东西必须是静态的。使用使用将确保所有内容都已正确处理/关闭(必要时可重复使用)

这是一种支持方法,每当您想向数据库写入/读取某些内容时,都可以轻松地建立连接

    public static SqlConnection SqlConnectOneTime(string varSqlConnectionDetails) {
        SqlConnection sqlConnection = new SqlConnection(varSqlConnectionDetails);
        try {
            sqlConnection.Open();
        } catch {
            DialogResult result = MessageBox.Show(new Form {
                                                               TopMost = true
                                                           }, "No connection to database. Do you want to retry?", "No connection (000001)", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);
            if (result == DialogResult.No) {
                if (Application.MessageLoop) {
                    // Use this since we are a WinForms app
                    Application.Exit();
                } else {
                    // Use this since we are a console app
                    Environment.Exit(1);
                }
            } else {
                sqlConnection = SqlConnectOneTime(varSqlConnectionDetails);
            }
        }
        return sqlConnection;
    }
     public const string sqlDataConnectionDetails = "Data Source=YOUR-SERVER;Initial Catalog=YourDatabaseName;Persist Security Info=True;User ID=YourUserName;Password=YourPassword";

     public static void ChangeDatabaseSize(int databaseSize) {
        const string preparedCommand = @"
                        ALTER DATABASE Accounting
                        MODIFY FILE
                        (NAME = 'Accounting', SIZE = @size)
                        ";
        using (var varConnection = SqlConnectOneTime(sqlDataConnectionDetails))
        using (SqlCommand sqlWrite = new SqlCommand(preparedCommand, varConnection)) {
            sqlWrite.Parameters.AddWithValue("@size", databaseSize);
            sqlWrite.ExecuteNonQuery();
        }
    }
    public static SqlConnection SqlConnectOneTime(string varSqlConnectionDetails) {
        SqlConnection sqlConnection = new SqlConnection(varSqlConnectionDetails);
        try {
            sqlConnection.Open();
        } catch {
            DialogResult result = MessageBox.Show(new Form {
                                                               TopMost = true
                                                           }, "No connection to database. Do you want to retry?", "No connection (000001)", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);
            if (result == DialogResult.No) {
                if (Application.MessageLoop) {
                    // Use this since we are a WinForms app
                    Application.Exit();
                } else {
                    // Use this since we are a console app
                    Environment.Exit(1);
                }
            } else {
                sqlConnection = SqlConnectOneTime(varSqlConnectionDetails);
            }
        }
        return sqlConnection;
    }