Как использовать Npgsql с TableAdapter в C # - PullRequest
4 голосов
/ 29 июня 2009

У меня есть база данных PostgresQL, и я разрабатываю интерфейсное приложение, используя C # и Npgsql для подключения к базе данных. Как я могу назначить соединение Npgsql для TableAdapter?

Спасибо

Ответы [ 2 ]

1 голос
/ 30 июня 2009

Я в той же лодке с PostgreSQL.

Я не верю, что это возможно. Npgsql имеет свой собственный адаптер данных (см. http://npgsql.projects.postgresql.org/docs/manual/UserManual.html и ищите текст «адаптер»). Недостатком этого является то, что вы не можете использовать Visual Studio Designer.

Поэтому вместо этого я использую источник данных ODBC .NET. Чтобы это работало, вам нужно установить драйвер postgresql odbc, который доступен здесь: http://www.postgresql.org/ftp/odbc/versions/msi/. После установки вы можете перейти в Панель управления -> Администрирование -> Обращение к данным (ODBC), чтобы добавить DSN. (Имя источника данных). Наконец, в Visual Studio перейдите в обозреватель сервера, щелкните правой кнопкой мыши «Соединения данных», выберите «Добавить соединение ...» и измените источник данных Microsoft ODBC Data Source. Здесь вы можете выбрать DSN, который вы предоставили ранее, и альт! Вы в бизнесе.

(Обратите внимание, что по какой-то сумасшедшей причине bool поступают как строки. Вы можете изменить это в Администраторе источника данных ODBC, щелкнув «Настроить» в вашем источнике данных PostgreSQL, перейдя к параметрам источника данных и сняв флажок «Bools as Char».)

0 голосов
/ 29 августа 2018

Извините, но немного поздно, но вот как вы это сделаете, используйте адаптер данных.

создать сетку данных создать таблицу данных

заполнить таблицу с помощью dataAdapter, // предоставляется функция - dataTableName.fill () установить сетку данных для отображения представления по умолчанию для таблицы данных

    try
        {
           using (var Connection = new NpgsqlConnection(PG_Connection_String))
           NpgsqlDataAdapter da = new NpgsqlDataAdapter("myQuery", connectionString))

 {
                    Connection.Open();

                    myTable = new System.Data.DataTable();
                    da.Fill(myTable);

                    postgresql_dataGrid.DataSource = myTable.DefaultView;

                    Connection.Close();
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Your Error", "Connection Error");
            }
        }

Боб твой дядя, я успешно его использую. Я хотел бы предложить, чтобы, если вы хотите подготовить сетку для пользовательских заголовков и т. Д., Сделайте это ДО установки стандартного представления вашей сетки данных

...