- - PR -
DB接続用のクラスの作成について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-13 13:48
いつもお世話になります。
現在、VB.NETでWebアプリの開発をしている初心者です。 DBの接続用の共通クラス(clsDB)を作って、各フォームの イベントからDBクラスをNEWして、クラス中のDB接続関数を コールして使いまわしているのです。 このような構築は問題がないでしょうか? 特に、複数ユーザが同時にアクセスするとき。 ぜひ、ご教授を頂きたいと願います。 ********webform******* Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim clsDBInfo As New clsDB Dim SQL As String="select * from dbtable " Dim DBReader As OracleClient.OracleDataReader Try '****** データベースへ接続 ***** If clsDBInfo.DBOpen() = False Then Exit Function End If '***** データリーダを作成 ***** If clsDBInfo.DBReader(SQL, DBReader) = False Then Exit Function End If '***** DataReaderを読込む ***** Do While DBReader.Read ' Loop Catch ex As Exception 'エラー処理 Finally '****** DB切断****** Call clsDBInfo.fncDBRedClose(DBReader) Call clsDBInfo.fncSqlClose() End Try END Sub ********CLASS*********** Imports Oracle.DataAccess.Client Imports Oracle.DataAccess.Types Imports System.Configuration Public Class clsDB Public Conn As OracleClient.OracleConnection Public Trans As OracleClient.OracleTransaction 'DBオーブン Public Function DBOpen() As Boolean Dim strConn As String Try DBOpen = False '*****Web.configファイルからDB接続情報を取得***** strConn = ConfigurationSettings.AppSettings.Item("DBConnectionString") Conn = New OracleClient.OracleConnection Conn.ConnectionString = strConn Conn.Open() DBOpen = True Catch ex As Exception 'エラー処理 DBOpen = False End Try End Function 'DB切断 Public Sub DBClose() Try If Not Conn Is Nothing Then Conn.Close() Conn.Dispose() Conn = Nothing End If Catch ex As Exception 'エラー処理 End Try End Sub 'DataReaderクローズ Public Sub DrClose(ByRef DBReader As OracleClient.OracleDataReader) Try If Not DBReader Is Nothing Then DBReader.Close() DBReader = Nothing End If Catch ex As Exception 'エラー処理 End Try End Sub 'DBデータを読込む Public Function DBReader(ByVal PstrSQL As String, _ ByRef PSqlDataReader As OracleClient.OracleDataReader) As Boolean Dim SqlCmd As OracleClient.OracleCommand Try DBReader = False SqlCmd = New OracleClient.OracleCommand '*****sql文の実行***** With SqlCmd .Connection = Conn .CommandText = PstrSQL .CommandType = CommandType.Text End With PSqlDataReader = SqlCmd.ExecuteReader fncSqlDataReader = True Catch ex As Exception 'エラー処理 SqlCmd = Nothing DBReader = False Finally SqlCmd = Nothing End Try End Function | ||||
|
投稿日時: 2006-07-13 14:20
いわゆるラッパークラスってやつですな。 で排他関係は別の概念なので関係ないでしょ。 しかしメソッドの名前とか戻り値とかちょっといけてないかもね。 | ||||
|
投稿日時: 2006-07-13 15:11
DBクラスは問題がないようで安心しました。 関数名や戻り値の名称を見直します。 ご返事がありがとうございました。 |
1