私はVisual Studio 2015を使用しています。私はDB2接続が公開されるようにモジュールを作成しようとしています。公開モジュールを作成する
これはログイン手順と似ています。
は、ここに私のログインCODE1
Imports IBM.Data.DB2
Public Class LoginForm
Dim dbConn As Common.DbConnection
Private Sub BtnLogin_Click(sender As Object, e As EventArgs) Handles
BtnLogin.Click
Dim user As String
Dim pass As String
user = Me.txtUser.Text
pass = Me.txtPass.Text
dbConn = New DB2Connection("server = localhost; database = hotel;" + "uid = '" & user & "'; password='" & pass & "';")
dbConn.Open()
If dbConn.State = ConnectionState.Open Then
Try
Main_Menu_Form.Show()
Me.Hide()
Catch ex As Exception
MsgBox(e.ToString)
End Try
End If
End Sub
だとここで私は(動作しませんどの)CODE2
Module Module1
Public dbConn As Common.DbConnection
End Module
私は接続が異なる形で利用できるようにしたいモジュールに書いたものです。
これは、ここで私は 'System.NullReferenceException' 種類の未処理の例外が
Hotel.exe
に発生しました追加情報CODE3からもらったエラーだ私のCODE3
Private Sub BtnLogin_Click(sender As Object, e As EventArgs) Handles BtnLogin.Click If dbConn.State = ConnectionState.Open Then Try Dim str As String = "select * from table(EMPLOYEEDISP(20)) as udf" Dim cmd As DB2Command = New DB2Command(str, dbConn) Dim rdr As DB2DataReader rdr = cmd.ExecuteReader DGVEx.ColumnCount = 5 DGVEx.Columns(0).Name = "Employee Number" DGVEx.Columns(1).Name = "Name" DGVEx.Columns(2).Name = "Position" DGVEx.Columns(3).Name = "Username" DGVEx.Columns(4).Name = "Password" Dim row As String() While rdr.Read() row = New String() {rdr.GetString(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3), rdr.GetString(4)} DGVEx.Rows.Add(row) End While MsgBox("Executed") Catch ex As Exception MsgBox(e.ToString) End Try End If End Sub
次のとおりです。オブジェクト参照がオブジェクト インスタンスに設定されていません。
dbConn.State
が閉じられていないか接続されていない可能性があります.CODE2(モジュール)に問題があると思います。
モジュールで接続を公開する正しいコードは何ですか?
モジュールなぜモジュールですか?接続クラスを作成して実装する...必要なものを返すヘルパ関数を持つことができます。 – Codexer