2009-06-04 11 views
0

ODBCを使用してDB2テーブルを更新するVB6実行可能ファイルで作業しています。存在しない行を更新しようとすると、プログラムは予期したとおりにエラーをスローしません。なぜこれが起こるのだろうか?ODBCコマンドでエラーがスローされない

objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'"); 

答えて

3

有効なSQL文であるため、「影響を受ける行が0件」になるためです。それは成功です。

3

SQLの観点からは、このコマンドに何も問題はありません。何も更新されず、完全に有効な結果です。

+0

これが理由です – tekBlues

2

otheranswersは正しいです。これは有効なSQL文で、レコードには影響しません。影響を受けるレコードの数を知りたい場合は、次のようにオプションのRecordsAffected parameterを使用してください:

Dim n As Long 
objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'", n) 
If n=0 Then MsgBox "No records affected!" 
関連する問題