Следующий пример даст вам лучший обзор. Определив параметры, вы можете передать некоторые вещи, которые не обязательно должны быть статическими. Используя using
, убедитесь, что все правильно установлено/закрыто (и/или повторно использовано при необходимости).
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;
}