・準備するもの

・Microsoft Visual Studio 2005又はVisual Web Developer 2005 Express Edition

(因みにMicrosoft Visual Studio 2005で開発中)

・Npgsql

※NpgsqlがASP.NETとPostgreSQLをつなぐための物


Npgsqlのダウンロードは以下のURLからどうぞ

http://pgfoundry.org/frs/?group_id=1000140


Npgsql2.0.4-bin-ms.net.zipをダウンロードしてプロジェクトの場所にでも解凍すればOKだと思います。


次にソリューションエクスプローラのプロジェクト名で右クリック後「参照の追加」を選択

参照の追加ウィンドの参照タブを選択後先ほどダウンロードしたNpgsqlファイル内にあるNpgsql.dllを参照する

以上で開発準備は完了です。


以下がGridViewに表示するコードの一例になります。


GridViewのIDはDetaViewです。


===============


’'PostgreSQLからのデータ取得プログラム
Option Strict On
Option Compare Binary
Option Explicit On

Imports Microsoft.VisualBasic

Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Imports System.Text

'PostgreSQL
Imports Npgsql

Partial Class Sample_001

Inherits System.Web.UI.Page

Protected nscon As NpgsqlConnection ''SQL Connection
Protected nstrn As NpgsqlTransaction ''SQL Transaction
Protected nscmd As NpgsqlCommand ''SQL Command

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

  Dim dtsrc As New DataTable
  Dim dt As New DataTable
  Dim dr As DataRow
  Dim nsda As NpgsqlDataAdapter
  Dim cnt As Integer
  Dim RowCnt As Integer

  '  カラム設定
  dt.Columns.Add(New DataColumn("ID", GetType(String)))
  dt.Columns.Add(New DataColumn("ユーザー名", GetType(String)))

  ' 接続文字列をセットしたNpgsqlConnectionオブジェクトを作成
  nscon = New NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=データベースパスワード;Database=データベース名;")

  'select文をセットしたNpgsqlCommandオブジェクトを作成
  nscmd = New NpgsqlCommand("SELECT * FROM userinformation;", nscon, nstrn)

  'select、update、insert、および delete の数多くのコマンドからDatasetsを埋めるNpgsqlDataAdapterオブジェクトを作成
  nsda = New NpgsqlDataAdapter(nscmd)

  'DataTable 名を使用して、データ ソース内の行と一致するようにnsda.Fill(dt)を実行しDataTable 内の行を追加する。
  nsda.Fill(dtsrc)
  cnt = CType(dtsrc.Rows.Count, Integer)

  For RowCnt = 0 To cnt - 1
    dr = dt.NewRow()
    dr(0) = CStr(dtsrc.Rows(RowCnt).Item("id"))
    dr(1) = CStr(dtsrc.Rows(RowCnt).Item("uid"))
    dt.Rows.Add(dr)
  Next

  Me.DetaView.DataSource = dt
  Me.DetaView.DataBind()

End Sub

End Class


===============


ちょと見難いので後で見やすいように修正しようと思います。