Работа с Postgresql в C#
Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информация которой спешу поделиться. В статье я опишу что необходимо для подключения к PostgreSQL из приложения написанного на C#, и как с ним работать на примерах.
Для того чтобы иметь возможность работать с базами данных PostgreSQL в нашем случае будем использовать Npgsql — .Net Data Provider for Postgresql скачиваем, добавляем Npgsql.dll в свой проект и копируем в папку с скомпилированным проектом необходимые библиотеки (чтобы работало): Npgsql.dll и Mono.Security.dll.
Начнём с подключения к базе:
string conn_param = "Строка подключения к базе"; //Например: "Server=127.0.0.1;Port=5432;User Id=postgres;Password=mypass;Database=mybase;"
string sql = "текст запроса к базе данных";
NpgsqlConnection conn = new NpgsqlConnection(MainParams.ConnectionString);
NpgsqlCommand comm = new NpgsqlCommand(sql, conn);
conn.Open(); //Открываем соединение.
result = comm.ExecuteScalar().ToString(); //Выполняем нашу команду.
conn.Close(); //Закрываем соединение.
Как видно, ничего сложного, всё как всегда.
comm.ExecuteScalar() — возвращает значение.
comm.ExecuteNonQuery() — выполняет запрос на изменение данных.
Пример выборки массива данных:
NpgsqlConnection con = new NpgsqlConnection("строка подключения");
NpgsqlCommand com = new NpgsqlCommand("select * from my_table order by \"NAME\"", con);
con.Open();
NpgsqlDataReader reader;
reader = com.ExecuteReader();
while (reader.Read())
{
try
{
string result = reader.GetString(1);//Получаем значение из второго столбца! Первый это (0)!
}
catch { }
}
con.Close();
Вот собственно и всё самое главное, на мой взгляд.