Как выполнить Sql-запрос в c#?
Можно ли выполнять Sql-запрос в C#?
Я где-то видел, что можно.
Если можно, то как?
Ответы (2 шт):
string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True";
string sqlExpression = "SELECT * FROM Users";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(sqlExpression, connection);
}
Чтобы выполнить команду, необходимо применить один из методов SqlCommand:
ExecuteNonQuery: просто выполняет sql-выражение и возвращает количество измененных записей. Подходит для sql-выражений INSERT, UPDATE, DELETE.
ExecuteReader: выполняет sql-выражение и возвращает строки из таблицы. Подходит для sql-выражения SELECT.
ExecuteScalar: выполняет sql-выражение и возвращает одно скалярное значение, например, число. Подходит для sql-выражения SELECT в паре с одной из встроенных функций SQL, как например, Min, Max, Sum, Count.
Можно написать данный код в классе:
SqlConnection SqlConnection = new SqlConnection(
@"Data Source = (название сервера);
Initial Catalog = (название БД);
Integrated Security = True");
public static string type = "";
public void openConnection()
{
if (SqlConnection.State == System.Data.ConnectionState.Closed)
SqlConnection.Open();
}
public void closeConnection()
{
if (SqlConnection.State == System.Data.ConnectionState.Open)
SqlConnection.Close();
}
public SqlConnection getConnection()
{
return SqlConnection;
}
А после этого при использовании SQLCommand:
SqlCommand command = new SqlCommand(queryString, db.getConnection());