クラス化


  MyClass.vb




  

Imports System.Data.Odbc

Public Class MyLib

	Private Shared TargetCsvPath As String

	' ******************************************************
	' サンプルの為に、プロパティ用のメソッドを公開(Public)
	' ******************************************************
	Public Shared Sub GetParam()

		' CSV のパスを引数から取得する
		' 空白を指定したい場合は、"文字列 文字列" のように指定する
		Dim arguments As String() = Environment.GetCommandLineArgs()
		' 引数は一つのみ許可
		if arguments.Length <> 2 then
			Console.WriteLine("引数を指定して下さい")
			Return
		end if

		' 引数からエクスポート対象テーブル名を取得
		MyLib.TargetCsvPath = arguments(1)

	End Sub

	' ******************************************************
	' データ取得のみの ReadOnly
	' ******************************************************
	Public Shared ReadOnly Property CsvPath() As String
		Get
			MyLib.GetParam()
			Return MyLib.TargetCsvPath
		End Get
	End Property

	' ******************************************************
	' エラー処理
	' ******************************************************
	Public Shared Sub ErrorAction( ex As OdbcException )

		Dim CrLf As String = ControlChars.CrLf
		Dim errorMessages As String = ""
		Dim i As Integer

		For i = 0 To ex.Errors.Count - 1
			errorMessages &= _
				"Index #" & i.ToString() & CrLf _
				& "Message: " & ex.Errors(i).Message & CrLf _
				& "NativeError: " & ex.Errors(i).NativeError.ToString() & CrLf _
				& "Source: " & ex.Errors(i).Source & CrLf _
				& "SQL: " & ex.Errors(i).SQLState & CrLf
		Next i

		Console.WriteLine(errorMessages)

	End Sub

End Class

Partial Class MyLib

	' 接続用のオブジェクト
	Private myCon As OdbcConnection
	' 更新用のオブジェクト
	Private execCommand As OdbcCommand

	Private builder As OdbcConnectionStringBuilder

	Private server_string As String
	Private database_string As String
	Private user_string As String
	Private password_string As String

	' ******************************************************
	' 初期処理( コンストラクタ )
	' ******************************************************
	Public Sub New(a As String,b As String,c As String,d As String)

		Me.server_string = a
		Me.database_string = b
		Me.user_string = c
		Me.password_string = d

	End Sub

	' ******************************************************
	' 接続作成
	' ******************************************************
	Function Execute( Query As String ) As Boolean

		' 接続を開く
		Try
			Me.execCommand.CommandText = Query
			Me.execCommand.ExecuteNonQuery()
		Catch ex As OdbcException
			Console.WriteLine("SQL実行エラーです")
			Call MyLib.ErrorAction( ex )
			Return False
		End Try

		Return True

	End Function

	' ******************************************************
	' 接続作成
	' ******************************************************
	Function CreateConnection( ) As Boolean

		' 新しい OdbcConnectionStringBuilder オブジェクトを作成
		Me.builder = New OdbcConnectionStringBuilder()

		' ドライバ文字列をセット ( 波型括弧{} は必要ありません ) 
		' 文字列を正確に取得するには、レジストリ : HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI
		builder.Driver = "MySQL ODBC 5.1 Driver"

		' 接続用のパラメータを追加
		builder.Add("SERVER", Me.server_string)
		builder.Add("DATABASE", Me.database_string)
		builder.Add("UID", Me.user_string)
		builder.Add("PWD", Me.password_string)

		' 内容を確認
		Console.WriteLine(builder.ConnectionString)

		' 新しい OdbcConnection オブジェクトを作成
		Me.myCon = New OdbcConnection()

		' 接続文字列を設定
		Me.myCon.ConnectionString = builder.ConnectionString

		' 接続を開く
		Try
			Me.myCon.Open()
		Catch ex As OdbcException
			Console.WriteLine("接続エラーです")
			' Console.WriteLine( ex.Message )
			Call MyLib.ErrorAction( ex )
			Return False
		End Try

		' 同時に実行用のオブジェクトを作成
		execCommand = New OdbcCommand()
		execCommand.Connection = Me.myCon

		Return True

	End Function

	' ******************************************************
	' 接続終了
	' ******************************************************
	Public Sub EndConnection( )

		' 接続を閉じる
		Me.myCon.Close()

		' OdbcConnection オブジェクトに使用されているすべてのリソースを解放
		Me.myCon.Dispose()

		Me.execCommand.Dispose()

		' 処理終了
		Console.WriteLine("処理が終了しました")

		' 一時停止
		Console.Write("Enterキーを押して下さい : ")
		Console.ReadLine()

	End Sub

End Class
  











yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[vb]
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
24/04/19 19:23:07
InfoBoard Version 1.00 : Language=Perl

1 BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube