
下記コードにてdataadapterにてインサートを行っております。
下記コードですとインサートしても戻り値が「0」されなくても「0」です。
インサートしたとき、戻り値「1」が返ってきて欲しいです。
どこがまちがってますでしょうか。
'変数の宣言
Dim returnValue As Integer
Dim totalValue As Integer
'NonQueryTableAdapの宣言
Dim NonQueryTableAdapter As CreateIDDataSetTableAdapters.TableTableAdapter
NonQueryTableAdapter = New CreateIDDataSetTableAdapters.TableTableAdapter()
’DBに存在しなければインサートする
For Each dr As DataRow In CreateIDDataSet.Tables(0).Rows
Me.TableTableAdapter.InsertQuery(dr("date"), dr("IDcode"))
'インサートクエリにて返ってきた値を数値化する
returnValue = NonQueryTableAdapter.InsertQuery(dr("date"), dr("IDcode"))
Next
インサートクエリ
INSERT INTO [dbo].[Table] ([date], [IDcode])
SELECT @date, @IDcode
WHERE NOT EXISTS(SELECT * FROM [dbo].[Table] WHERE [IDcode] = @IDcode);
ご教示お願いします。
No.3ベストアンサー
- 回答日時:
以前にも回答していますが、InsertQuery()(内部ではExecuteNonQuery())は、戻り値として、影響を及ぼしたレコード件数を返します。
1が実行できた、0が実行に失敗した、ようなフラグではありません。
INSERT INTO SELECT ~ というSQLを発行していれば、戻り値は1かもしれませんし、2かもしれません。
INSERTされたレコード数なのですから。
今回のようなSQLでは、1件登録するかしないか、しかないので、1か0しか返ってこないだけです。
登録されたかされてないかを確認したいなら、Me.TableTableAdapter. InrertQuery()の戻り値が0かそうでないかです。
No.1
- 回答日時:
Me.TableTableAdapter.InrertQuery()でレコードが登録されれば、NonQueryTableAdapter.InsertQuery()ではレコード登録されないので0が返ってきて当たり前ですよね。
NonQueryTableAdapterなんてのは全くいらなくて、Me.TableTableAdapter. InrertQuery()の戻り値を取得すればいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル書込みで一行もしくは...
-
JSPのNULLレコード表示について...
-
ADO VBA 実行時エラー3021
-
DataGridViewの、選択されてい...
-
データセットのレコード更新が...
-
カレントレコードが無い事を判...
-
アクセスでレポートの1印刷内...
-
vbからmdbのレコード削除
-
レコードが存在しなかった場合
-
差し込み印刷のレコード数について
-
DataGridViewの内容をDBに反映...
-
ACCESSで大量の更新を行うと「...
-
Access のフォームで新しい行...
-
固有レコード識別子の選択とは
-
サブフォームに新規レコードを...
-
Access でレコードセレクタが押...
-
ワードの差込印刷で教えて下さ...
-
ACCESS VBA テーブルデータに...
-
ACCESSのフォームで複数レコー...
-
Excel VBA読み込みで文字化けが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
ADO VBA 実行時エラー3021
-
差し込み印刷のレコード数について
-
ACCESSで大量の更新を行うと「...
-
ファイル書込みで一行もしくは...
-
カレントレコードが無い事を判...
-
ワードの差込印刷で教えて下さ...
-
アクセスでレポートの1印刷内...
-
DataGridViewの内容をDBに反映...
-
[VBA] ADOの Clone と AddNew
-
固有レコード識別子の選択とは
-
JSPのNULLレコード表示について...
-
Access を×ボタンで閉じ...
-
サブフォームに新規レコードを...
-
データセットのレコード更新が...
-
サブレンジ分割されたNDB(富士...
-
レコードセット(ADO.Recordset)...
-
DataGridViewにてセル以外をク...
-
COBOLでのランダムアクセス
おすすめ情報
Me.TableTableAdapter. InrertQuery()の戻り値はどのように取得したらよいのでしょうか???
てっきりデータアダプターインサートされた際に登録されたら1、登録されなかったら0のような戻り値がかえってくると思っておりました。
このような戻り値は判定できないのでしょうか?