Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Примеры

private static void OpenSqlConnection()

{

string connectionString = GetConnectionString();

using (SqlConnection connection = new SqlConnection())

{

connection.ConnectionString = connectionString;

connection.Open();

Console.WriteLine("State: {0}", connection.State);

Console.WriteLine("ConnectionString: {0}",

connection.ConnectionString);

}

}

static private string GetConnectionString()

{

// To avoid storing the connection string in your code,

// you can retrieve it from a configuration file.

return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"

+ "Integrated Security=true;";

}

Построитель строк соединения (ado.Net) SqlConnectionStringBuilder

Обеспечивает удобный способ создания и управления содержимым строк подключения с помощью класса SqlConnection.

Пространство имен:  System.Data.SqlClient Сборка:  System.Data (в System.Data.dll)

Синтаксис

public sealed class SqlConnectionStringBuilder : DbConnectionStringBuilder

Построитель строк подключения позволяет разработчикам программным способом создавать синтаксически правильные строки подключения, а также анализировать и перестраивать существующие строки подключения с помощью свойств и методов класса. Построитель строк подключения предоставляет строго типизированные свойства, соответствующие известным парам ключ/значение, которые разрешены SQL Server. Разработчики, которым требуется создавать строки подключения как части приложений, могут использовать класс SqlConnectionStringBuilder для создания или изменения строк подключения. Класс также упрощает управление строками подключения, которые хранятся в файле конфигурации приложения.

SqlConnectionStringBuilder выполняет проверки на наличие допустимых пар ключ/значение. Таким образом, этот класс нельзя использовать для создания недопустимых строк подключения; попытка добавить недопустимые пары приведет к выбросу исключения. Данный класс поддерживает фиксированный набор синонимов, и при необходимости осуществляет перевод для преобразования синонима в соответствующее известное имя ключа.

Примеры

Следующее консольное приложение создает строки подключения для базы данных SQL Server 2005. В коде используется класс SqlConnectionStringBuilder для создания строки подключения, а затем передается свойство ConnectionString экземпляра SqlConnectionStringBuilder в конструктор класса подключения. В примере также анализируется существующая строка подключения и демонстрируются различные способы управления содержимым строки подключения.

Примечание. В этом примере используется пароль, который позволяет продемонстрировать, как SqlConnectionStringBuilder работает со строками подключения. В приложениях рекомендуется использовать проверку подлинности Windows. Если требуется использовать пароль, не следует добавлять в приложение жестко запрограммированный пароль.

using System.Data;

using System.Data.SqlClient;

class Program

{

static void Main()

{

// Create a new SqlConnectionStringBuilder and

// initialize it with a few name/value pairs.

SqlConnectionStringBuilder builder =

new SqlConnectionStringBuilder(GetConnectionString());

// The input connection string used the

// Server key, but the new connection string uses

// the well-known Data Source key instead.

Console.WriteLine(builder.ConnectionString);

// Pass the SqlConnectionStringBuilder an existing

// connection string, and you can retrieve and

// modify any of the elements.

builder.ConnectionString = "server=(local);user id=ab;" +

"password= a!Pass113;initial catalog=AdventureWorks";

// Now that the connection string has been parsed,

// you can work with individual items.

Console.WriteLine(builder.Password);

builder.Password = "new@1Password";

builder.AsynchronousProcessing = true;

// You can refer to connection keys using strings,

// as well. When you use this technique (the default

// Item property in Visual Basic, or the indexer in C#),

// you can specify any synonym for the connection string key

// name.

builder["Server"] = ".";

builder["Connect Timeout"] = 1000;

builder["Trusted_Connection"] = true;

Console.WriteLine(builder.ConnectionString);

Console.WriteLine("Press Enter to finish.");

Console.ReadLine();

}

private static string GetConnectionString()

{

// To avoid storing the connection string in your code,

// you can retrieve it from a configuration file.

return "Server=(local);Integrated Security=SSPI;" +

"Initial Catalog=AdventureWorks";

}

}

Примеры:

В следующем примере кода демонстрируется создание объектов SqlCommand и SqlConnection. Подключение SqlConnection открывается и задается как Connection для SqlCommand. Затем в примере вызывается метод ExecuteNonQuery и подключение закрывается. Чтобы выполнить это, метод ExecuteNonQuery передает строку подключения и строку запроса, являющуюся инструкцией языка Transact-SQL INSERT.

private static void OpenSqlConnection()

{

string connectionString = GetConnectionString();

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);

Console.WriteLine("State: {0}", connection.State);

}

}

static private string GetConnectionString()

{

// To avoid storing the connection string in your code,

// you can retrieve it from a configuration file, using the

// System.Configuration.ConfigurationSettings.AppSettings property

return "Data Source=(local);Initial Catalog=AdventureWorks;"

+ "Integrated Security=SSPI;";

}