・準備するもの
・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
===============
ちょと見難いので後で見やすいように修正しようと思います。