Imports Npgsql
'----------------------------------------------------------------------
'NpgsqlSample
'----------------------------------------------------------------------
Dim cn As NpgsqlConnection = New NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=postgres;Database=testdb;")
cn.Open()
'If cn.State <> ConnectionState.Open Then
' MessageBox.Show("接続ERR")
'Else
' MessageBox.Show("接続O K")
'End If
'Dim command As NpgsqlCommand =
'New NpgsqlCommand("insert into v(cdata,vdata) values('AAA','BBB');", cn)
'Dim sResult As String = command.ExecuteScalar()
'MessageBox.Show("追加できました")
'cn.Close()
'Dim command As NpgsqlCommand = New NpgsqlCommand("select * from v where id = 6", cn)
'Dim strResult As String = command.ExecuteScalar()
'MessageBox.Show(strResult)
'cn.Close()
Dim sql As String
Dim da As NpgsqlDataAdapter
Dim row As DataRow
Dim dt As DataTable
'sql = "select * from v where id = 4"
sql = "select * from ""AAA"" where id = 2"
da = New NpgsqlDataAdapter(sql, cn)
dt = New DataTable
da.Fill(dt)
If (dt.Rows.Count > 0) Then
For Each row In dt.Rows
Debug.WriteLine(row(0).ToString & "-" & row(1).ToString)
Next
End If
cn.Close()
Imports System.Data.Odbc
'----------------------------------------------------------------------
'ODBCSample1
'----------------------------------------------------------------------
Try
Dim cn As OdbcConnection = Nothing
If cn Is Nothing Then
cn = New OdbcConnection
End If
cn.ConnectionString = ";DSN=pg;Database=testdb;UID=postgres;PWD=postgres;Connect Timeout=5"
cn.Open()
Dim dt As New DataTable
Dim trn As OdbcTransaction
Dim sql As String = "select * from v"
Dim sqlcmd As New OdbcCommand(sql, cn, trn)
Dim adapter As New OdbcDataAdapter(sqlcmd)
adapter.Fill(dt)
adapter.Dispose()
sqlcmd.Dispose()
Dim ret As String = ""
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
Debug.WriteLine(dt.Rows(i).Item("vdata").ToString)
Next
cn.Close()
cn = Nothing
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
'----------------------------------------------------------------------
'ODBCSample2
'----------------------------------------------------------------------
Try
Dim cn As New OdbcConnection(";DSN=pg")
Dim sqlcmd As OdbcCommand = cn.CreateCommand
sqlcmd.CommandText = "SELECT * FROM v"
cn.Open()
Dim dt As New DataTable
Dim adapter As New OdbcDataAdapter(sqlcmd)
adapter.Fill(dt)
adapter.Dispose()
sqlcmd.Dispose()
Dim ret As String = ""
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
Debug.WriteLine(dt.Rows(i).Item("vdata").ToString)
Next
cn.Close()
cn = Nothing
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
'----------------------------------------------------------------------
'ODBCSample3
'----------------------------------------------------------------------
Try
Dim cn As Object
Dim rs As Object
cn = CreateObject("ADODB.Connection")
cn.Open(";DSN=pg;Database=testdb;UID=postgres;PWD=postgres;Connect Timeout=5")
cn.CursorLocation = 3
rs = cn.Execute("select * from v")
Do Until rs.EOF
Debug.WriteLine(rs.Fields(0).Value)
rs.MoveNext()
Loop
rs.Close()
cn.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
'----------------------------------------------------------------------
'ODBCSample4
'----------------------------------------------------------------------
Try
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
cn.Open("DSN=pg;")
rs = cn.Execute("select * from v")
Do Until rs.EOF
Debug.WriteLine(rs("cdata").Value)
rs.MoveNext()
Loop
rs.Close()
cn.Close()
rs = Nothing
cn = Nothing
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
補足
指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
→ Any CPU -> x64 でエラー解消