|
分類:[VB.NET/VB2005 以降]
はじめまして。VB2008でoracleに接続し、データベースの編集する勉強をしています。
最初のフォームでoracleからデータを取得表示し、接続を切らずに、次フォームを表示する際、トランザクションをかけると"nullreferenceExceptionはハンドルされません"と表示されてします。この場合トランザクションの処理をどこですればよろしいのでしょうか?
アドバイスお願いします。
(宣言はモジュールで記載)
↓コード
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
'接続する
cnn.ConnectionString = "コード"
'接続を確立
cnn.Open()
'接続済みの Connection を指定する
strSQL.Connection = cnn
'クエリ文字列を指定
strSQL.CommandText = "コード"
'レコードデータを取得
Dim ADP As New OracleDataAdapter(strSQL)
ADP.Fill(ds, "コード")
dt = ds.Tables("コード")
'データをグリッドにあてる
DataGridView1.DataSource = dt
Catch ex As Exception
MessageBox.Show("通信障害が発生しました。フォームを閉じます。 ")
cnn.Close()
cnn.Dispose()
Me.Close()
End Try
↓フォーム2 ロード
OraTran = cnn.BeginTransaction() ←ココでエラー
Try
'ロック処理など
Catch ex As Exception
MessageBox.Show("現在、使用されています。フォームを閉じます。 ")
'ロールバックする()
OraTran.Rollback()
cnn.Close()
cnn.Dispose()
Me.Close()
End Try
|