如何在C#中使用带有TableAdapter的Npgsql

时间:2009-06-29 08:07:13

标签: c# postgresql tableadapter

我有PostgresQL数据库,我使用C#和Npgsql开发接口应用程序来连接数据库,如何将Npgsql连接分配给TableAdapter?

谢谢,

2 个答案:

答案 0 :(得分:1)

我与PostgreSQL完全相同。

我不相信这是可能的。 Npgsql有自己的数据适配器(参见http://npgsql.projects.postgresql.org/docs/manual/UserManual.html并搜索文本“adapter”)。这样做的缺点是您无法使用Visual Studio Designer。

相反,我正在使用.NET的ODBC DataSource。为此,您需要安装postgresql odbc驱动程序,该驱动程序位于http://www.postgresql.org/ftp/odbc/versions/msi/。安装后,您可以转到控制面板 - >管理工具 - > Data Soruces(ODBC)添加DSN(数据源名称)。最后,在Visual Studio中转到Server Explorer,右键单击“Data Connections”并选择“Add Connection ...”,然后更改Microsoft ODBC Data Source的数据源。在这里,您可以选择之前提供的DSN和中提琴!你在做生意。

(请注意,由于某些疯狂的原因,bools以字符串形式出现。您可以在ODBC数据源管理器中通过单击PostgreSQL数据源上的“配置”,转到数据源选项并取消选中“Bools as Char”来更改此项。)

答案 1 :(得分:0)

抱歉,为时已晚,但是使用数据适配器的方法如下。

创建一个数据网格 创建数据表

使用dataAdapter填充数据表,//提供函数-dataTableName.fill() 设置datagrid以显示dataTable的默认视图

    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");
            }
        }

鲍勃是你的叔叔,我正在成功使用它。我建议,如果您希望为自定义标头等准备网格,请在设置数据网格的默认视图之前先做