Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
System.AccessViolationException
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30682#CommentId84909
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ロト君
 (社会人)
投稿日時
2021/12/19 14:06:50
>ComboBox_Set を通ると発生するのであれば、Connection_DB クラスはどうなんでしょう?
>.NET のコンポーネントをそのまま使ってるのであれば、AccessViolationException が起きる可能性は低>いと思います。
>DllImport で API をコールしているところがあったりしませんか?
Connection_DBは、下記のモノです。
Imports System.Data.OleDb
Public Class Connection_DB
Public Property Sql = New System.Text.StringBuilder
Public Property resultDt As New DataTable
Public Property Connection_Name As String
Public Property Record_Id As Long
Sub New()
Connection_Name = DB_connect
Record_Id = 0
End Sub
Public Sub Selecter()
'Access接続準備
Dim command As New OleDbCommand
Dim da As New OleDbDataAdapter
Dim cnAccess As OleDbConnection = New OleDbConnection
cnAccess.ConnectionString = Connection_Name
'Access接続開始
cnAccess.Open()
Try
command.Connection = cnAccess
command.CommandText = Sql.ToString
da.SelectCommand = command
'SQL実行 結果をデータテーブルに格納
da.Fill(resultDt)
Catch ex As Exception
Throw
Finally
command.Dispose()
da.Dispose()
cnAccess.Close()
End Try
End Sub
Public Sub Updater()
'Access接続準備
Dim command As New OleDbCommand
Dim da As New OleDbDataAdapter
Dim cnAccess As OleDbConnection = New OleDbConnection
cnAccess.ConnectionString = Connection_Name
'Access接続開始
cnAccess.Open()
Dim tran As OleDbTransaction
tran = cnAccess.BeginTransaction
Try
command.Connection = cnAccess
command.Transaction = tran
command.CommandText = Sql.ToString
command.ExecuteNonQuery()
tran.Commit()
Catch ex As Exception
tran.Rollback()
Throw
Finally
command.Dispose()
cnAccess.Close()
End Try
End Sub
End Class