Работа с Postgresql в C#
Язык программирования 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();
Вот собственно и всё самое главное, на мой взгляд.
Комментарии:
Передача параметров между формами в C#
Часто возникает необходимость передать определённые параметры между формами в одном приложении, напр (читать далее...)
869Работа с MySQL в C#
Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правил (читать далее...)
604Сортировка списка (List) в C#
На днях понадобилось сортировать списки, удивительно, на сколько это оказалось просто. Допустим, име (читать далее...)
511OpenXML - Пример создания Excel файла на C#
В данной публикации приведен пример генерации Excel файла при помощи библиотеки OpenXML. Отличие это (читать далее...)
481DataGridView пример программного добавления ячеек.
Здесь я приведу пример программного добавления ячеек, а соответственно столбцов и строк. Это может п (читать далее...)
450
написал
выдает
Необработанное исключение типа «Npgsql.NpgsqlException» произошло в Npgsql.dll
Дополнительные сведения: ?????: 28P01: ???????????? «postgres» ?? ?????? ???????? ??????????? (?? ??????) Ответить
Дополнительные сведения: ?????: 28P01: ???????????? «postgres» ?? ?????? ???????? ??????????? (?? ??????)
Ответить— Напиши нормально без вопросиков, там же не вопросики? Там текст ошибки должен быть…
вот именно что вопросики
Ответитья думаю проблема в пароле, когда создаешь БД в СУБД он не просит задать пароль
ОтветитьВряд ли, пользователь по умолчанию верный вроде, должно работать. Для пущей уверенности можно задать пароль да проверить.
ОтветитьСтранно кракозябрами ругается, я бы по кодировкам посмотрел ещё, но по номерку — причина либо в пароле либо в отсутствии связи с сервером.
ru.pokerstrategy.com/forum/thread.php?threadid=442566 с паролем получаются понты? как пароль задать?
ОтветитьДавно с Postgress-ом не возился и под рукой нету чтобы посмотреть.
ОтветитьВот тут глянь: http://www.sql.ru/forum/actualthread.aspx?tid=819777 вроде человеку помогли советы, там.
Точно не помню, но посмотри нет ли в винде пользователя postgres — ему и задай пароль, если есть. (где то я такое видел — может как раз с постгресом).
Ответить