DBConnect・DBClose・DBGet(System.Data.Odbc 名前空間)
概要
ADO.NET(ODBC)によるDB操作関数群。
※この項のサンプルは、私のローカルマシン(マシン名:YOKOSAN)の VisualStudio2005 に付属するSQLServer(ExpressEdition)に接続する場合の接続文字列をそのまま記載してある為、環境に応じて適宜変更すること。
参照
参考
前提条件
手順
default.aspx.vb を以下のように変更。
Partial Class _Default
Inherits class_common
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Dim DBType As String = "DBの種類"
'Dim strTarget As String = "サーバー名・インスタンス名"
'Dim strDB As String = "DB名"
'Dim strUser As String = "ユーザ名"
'Dim strPass As String = "パスワード"
Dim DBType As String = "ASP.NET開発サーバ"
Dim strTarget As String = "YOKOSAN\SQLEXPRESS"
Dim strDB As String = "master"
Dim strUser As String = ""
Dim strPass As String = ""
' コネクション作成
Dim Cn As Data.Odbc.OdbcConnection = New Data.Odbc.OdbcConnection
If Not DBConnect(DBType, Cn, strTarget, strDB, strUser, strPass) Then
Response.Write("接続失敗")
Response.End()
End If
' クエリ作成
Dim selectQuery As String = "select * from hoge "
' データ取得
Dim Dtr As Data.DataTableReader = Nothing
If Not DBGet(Cn, Dtr, selectQuery, False) Then
Response.Write("データ取得失敗")
Response.End()
End If
' DataRaeder.Readは、以下の機能を持つ。PHPにおけるfetch関数に近い。
' 1.一行読み込む
' 2.カーソルを進ませる(ADOにおけるRecordset.Movenextの代わり)
' 3.読み込めない場合はFalseを返す(ADOにおけるRecordset.EOFの代わり)
' 表示用バッファ
Dim str_temp As String = New String("")
str_temp &= "<table>"
Do While (Dtr.Read)
str_temp &= "<tr>"
For i As Integer = 0 To Dtr.FieldCount - 1
str_temp &= "<td>"
str_temp &= Dtr.Item(i)
str_temp &= "</td>"
Next
str_temp &= "</tr>"
Loop
str_temp &= "</table>"
' データ表示
Response.Write(str_temp)
' 接続を閉じる
Dtr.Close()
DBClose(Cn)
End Sub
End Class
以下、実行結果。
not found (262.jpg)