SqlServer データ追加、更新、削除  次の文書

'変数
Dim strSQL As String

'テストデータの追加
Public Sub InsTestData()

Dim db As New ADODB.Connection 'DB接続オブジェクト
Dim rs As New ADODB.Recordset 'データ取得オブジェクト
Dim strSEL As String
Dim Con As String

db.CommandTimeout = 0 'タイムアウト時間なし
'DB接続情報格納
Con = "Provider = SQLOLEDB;"
Con = Con & "DATABASE=SSKPC;"
Con = Con & "UID=DBUser01;"
Con = Con & "PWD=DBUser01;"

db.Open Con 'DB接続


'テストデータ追加SQL
'Dim Wkey As String
'Dim Wcount As Integer
'Dim W名称 As String

Wkey = "'XYZ5'"
Wcount = 88
W名称 = "'44'"

'strSQL = "INSERT INTO counter ([KEY],[count],[名称]) VALUES(" & Wkey & "," & Wcount & "," & W名称 & ")"
strSQL = "INSERT INTO counter VALUES(" & Wkey & "," & Wcount & "," & W名称 & ")"


On Error GoTo エラー処理

db.BeginTrans

db.Execute (strSQL) 'SQL文実行

db.CommitTrans

db.Close
Set cn = Nothing
MsgBox "終了しました"
Exit Sub

エラー処理:
db.RollbackTrans

db.Close
Set cn = Nothing
MsgBox "エラーで終了しました"

End Sub

'テストデータの更新
Public Sub UpdTestData()

Dim db As New ADODB.Connection 'DB接続オブジェクト
Dim rs As New ADODB.Recordset 'データ取得オブジェクト
Dim strSEL As String
Dim Con As String

db.CommandTimeout = 0 'タイムアウト時間なし
'DB接続情報格納
Con = "Provider = SQLOLEDB;"
Con = Con & "DATABASE=SSKPC;"
Con = Con & "UID=DBUser01;"
Con = Con & "PWD=DBUser01;"

db.Open Con 'DB接続
'画面描画の停止
'Application.ScreenUpdating = False

'テストデータ更新SQL
Wkey = "'XYZ3'"
Wcount = 99
W名称 = "'88'"
strSQL = "UPDATE counter SET count=" & Wcount & ",名称=" & W名称 & " WHERE [KEY]=" & Wkey

'SQL文実行
On Error GoTo エラー処理
db.BeginTrans
db.Execute (strSQL), W更新件数

db.CommitTrans

db.Close
Set cn = Nothing
MsgBox "終了しました 更新件数=" & W更新件数
Exit Sub

エラー処理:
db.RollbackTrans
db.Close
Set cn = Nothing

MsgBox "エラーで終了しました"


End Sub

'テストデータの削除
Public Sub DelTestData()


Dim db As New ADODB.Connection 'DB接続オブジェクト
Dim rs As New ADODB.Recordset 'データ取得オブジェクト
Dim strSEL As String
Dim Con As String

db.CommandTimeout = 0 'タイムアウト時間なし
'DB接続情報格納
Con = "Provider = SQLOLEDB;"
Con = Con & "DATABASE=SSKPC;"
Con = Con & "UID=DBUser01;"
Con = Con & "PWD=DBUser01;"

db.Open Con 'DB接続
'画面描画の停止
'Application.ScreenUpdating = False

'テストデータ更新SQL
Wkey = "'XYZ3'"
Wcount = 99
W名称 = "'88'"

'テストデータ削除SQL
On Error GoTo エラー処理
db.BeginTrans
strSQL = "DELETE FROM counter WHERE [KEY]=" & Wkey

'SQL文実行
db.Execute (strSQL), W削除件数

db.CommitTrans

db.Close
Set cn = Nothing
MsgBox "終了しました 削除件数=" & W削除件数
Exit Sub

エラー処理:
db.RollbackTrans
db.Close
Set cn = Nothing

MsgBox "エラーで終了しました"

End Sub



参考サイト https://itlogs.net/vba-database/



 




← 左の文字をここへ入力後 登録ボタンをクリックしてください

(サイト管理者承認後掲載されます)