Kontynuacja wpisu o MS SQL Server. Dziś króciutki wpis o tym jak wywołać polecenie SQL na nowo utworzonej bazie danych.
Aby móc rozpocząć pracę z MS SQL Server należy dodać do swojego projektu bibliotekę umożliwiającą komunikację z bazą danych. Ja wykorzystam standardową bibliotekę Microsoft - System.Data.SqlClient. Dodaje ją do projektu poleceniem dotnet add package System.Data.SqlClient
, a następnie wywołuje dotnet restore
, tym samym bilbioteka jest już gotowa do użycia.
Przede wszystkim należy utworzyć ConnectionString
, a pomoże w tym klasa SqlConnectionStringBuilder
, która ułatwia zbudowanie wcześniej wspomnianego stringa
.
Tworzę nowy obiekt, a następnie przypisuje wartości najważniejszym właściwościom, czyli:
- DataSource - adres serwera
- UserID - nazwa użytkownika
- Password - hasło w/w użytkownika
Utworzony w ten sposób ConnectionString
zostaje przekazany do konstruktura SqlConnection
, który otwiera połączenie z bazą danych.
Jako przykładowe polecenie SQL wykonam zwykłego selecta
, który zwróci nazwy baz danych. Polecenie SQL można zapisać w zmiennej typu string
, a następnie przekazać do konstruktura SqlCommand
wraz z otwartym połączeniem. Następnie odczytuje strumień wierszy zwrócony przez polecenie SQL.
try
{
// Build connection string
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "localhost";
builder.UserID = "sa";
builder.Password = "4BEsFpaq";
// Connect to SQL
Console.Write("Connecting to SQL Server ... ");
using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
{
connection.Open();
Console.WriteLine("Done.");
string sql = "SELECT name FROM sys.Databases;";
using (SqlCommand command = new SqlCommand(sql, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine("{0}", reader.GetString(0));
}
}
}
}
}
catch (SqlException e)
{
Console.WriteLine(e.ToString());
}
W następnej części opiszę wykorzystanie EntityFramework.