В C# установление соединения с базой данных является фундаментальным шагом в работе с приложениями, управляемыми данными. Класс SqlConnection
из пространства имен System.Data.SqlClient
предоставляет необходимые функциональные возможности для подключения к базам данных Microsoft SQL Server. В этой статье вы узнаете, как использовать SqlConnection
, включая настройку соединения, выполнение запросов и эффективную обработку ресурсов.
Настройка SqlConnection
Перед работой с базой данных необходимо установить соединение с помощью класса SqlConnection
. Вот как вы можете это сделать:
using System; using System.Data.SqlClient; class Program { static void Main(string[] args) { string connectionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=Username;Password=Password"; using (SqlConnection connection = new SqlConnection(connectionString)) { try { connection.Open(); Console.WriteLine("Connection opened successfully."); // Perform database operations here connection.Close(); Console.WriteLine("Connection closed."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } }
Замените заполнители в connectionString
фактическими данными вашего сервера, базы данных, имени пользователя и пароля. Оператор using
гарантирует, что соединение будет правильно закрыто и ресурсы будут освобождены, когда они больше не нужны.
Выполнение запросов
После подключения вы можете выполнять SQL-запросы, используя класс SqlCommand
. Вот пример запроса данных из таблицы:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { connection.Open(); string query = "SELECT FirstName, LastName FROM Customers"; using (SqlCommand command = new SqlCommand(query, connection)) { using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { string firstName = reader["FirstName"].ToString(); string lastName = reader["LastName"].ToString(); Console.WriteLine($"Name: {firstName} {lastName}"); } } } connection.Close(); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }
В этом примере запрос SELECT
извлекает данные из таблицы «Клиенты», и полученная информация отображается.
Параметризованные запросы
По соображениям безопасности и производительности рекомендуется использовать параметризованные запросы для предотвращения атак с использованием SQL-инъекций:
string query = "SELECT ProductName, Price FROM Products WHERE Category = @Category"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Category", "Electronics"); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { string productName = reader["ProductName"].ToString(); decimal price = Convert.ToDecimal(reader["Price"]); Console.WriteLine($"Product: {productName}, Price: {price:C}"); } } }
Заключение
Класс SqlConnection
— это жизненно важный компонент для подключения приложений C# к базам данных SQL Server. Правильно используя его возможности, вы можете эффективно взаимодействовать с базами данных, выполнять запросы и управлять соединениями. Не забывайте следовать передовым практикам, таким как использование параметризованных запросов, чтобы обеспечить безопасность и надежность ваших приложений, управляемых данными.
Спасибо, что дочитали до конца. Пожалуйста, подумайте о том, чтобы подписаться на автора и эту публикацию. Посетите Stackademic, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.