お世話になります。
下記のコードを実行すると
プロシージャまたは関数 spTest の引数が多すぎます
どこが悪いのかご教示お願いいたします。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim conn As New SqlConnection(connstr)
Dim cmd As New SqlCommand
conn.Open()
cmd.Connection = conn
cmd.CommandText = "Delete Table2"
cmd.CommandType = CommandType.Text
Debug.WriteLine(cmd.ExecuteNonQuery())
For i = 1 To 100
spTest(cmd, i)
Next
conn.Close()
End Sub
sub spTest(ByRef cmd As SqlCommand, ByVal intID As Integer)
Dim param As SqlParameter
With cmd
.CommandType = CommandType.StoredProcedure
.CommandText = "spTest"
param = .Parameters.Add(New _
SqlParameter("@ID", SqlDbType.Int))
param.Value = intID
.ExecuteNonQuery()
''''' ここで2回目からエラーが発生します
End With
End sub
No.1ベストアンサー
- 回答日時:
Sub spTestの中で、cmdに毎回SqlParameterを足しているからでは。
1回目のAddでパラメータ1個、2回目のAddでパラメータ2個になり、2回目がエラーになるのでしょう。xcrOSgS2wYさん、FENさん有難うございました。
>ソースだけだとよく分からないので、何をするプログラムなのかを明記した方がよろしいかと。
>Sub spTestの中で、cmdに毎回SqlParameterを足しているからでは。
>1回目のAddでパラメータ1個、2回目のAddでパラメータ2個になり、2回目>がエラーになるのでしょう。
実は、トランザクション処理がやりたかったのです。
これは、テストのストアドですが
テキストファイルを読み込み全ての行を処理し終えた時にCommit
不正なデータがあった時は、Rollbackの予定でした。
が、ストアドを繰り返すと失敗するので調べておりました。
おっしゃるとおり
.Parameters.Clear()
を挿入して解決しました。
有難うございました
No.2
- 回答日時:
spTes内の「ExecuteNonQuery」が正常に完了していないのではないでしょうか?
後、ソースだけだとよく分からないので、何をするプログラムなのかを明記した方がよろしいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
”パラメータ値を TextBox から String に変換できません
SQL Server
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
-
4
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
5
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
6
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
7
VBでストアドの戻りパラメータを受け取る方法
Visual Basic(VBA)
-
8
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
9
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
10
データベース関係で、データの洗い替えとはどのような事を行うことでしょう
IT・エンジニアリング
-
11
VBのReturnの使い方
Visual Basic(VBA)
-
12
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
13
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
14
Oracle 8i コンマ(,)を含むデータをinsertしたい
その他(データベース)
-
15
変数をコントロール型で使用する方法
Visual Basic(VBA)
-
16
SQL ServerのストアドでOUTPUTパラメータを2つ
Visual Basic(VBA)
-
17
vbからストアドプロシージャ内発生のエラーメッセージ取得
SQL Server
-
18
DELETE文でFROM句を省略した場合
その他(データベース)
-
19
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
20
ペイントのBMPで作ったアイコンだと…
その他(パソコン・スマホ・電化製品)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プロシージャまたは関数の引数...
-
プロシージャを呼び出したプロ...
-
【VB6.0】 あるフォームから他...
-
【VBScript】変数のスコープ
-
プログラムの素朴な質問です 分...
-
Excel vba で複数のテキストの...
-
C#のループでtextboxに値を入れ...
-
Functionの戻り値を配列にした...
-
VBAで入力数値について
-
他のフォームから別のフォーム...
-
VBA public変数はどのようなこ...
-
マクロ 条件式
-
チェックボックスを操作できな...
-
VB.NETでのイベントの途中終了
-
C言語のサフィックスについて
-
VBAでcallで呼び出したsubを終...
-
SavePictureで保存できない
-
vbsでスクロール位置を指定して...
-
verilogのcase文
-
VS CodeでTEXファイルにPDF形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムの素朴な質問です 分...
-
【VB6.0】 あるフォームから他...
-
プロシージャまたは関数の引数...
-
PL/SQLのプロシージャ間でカー...
-
パーソナルXLSBのfuctionを呼び...
-
【HTML、VBScript】HTAアプリケ...
-
定数を構造体で・・・
-
HTML + VBScript で Sleep でき...
-
Callで呼び出したプロシージャ...
-
整数を二つ読み込み、それらの...
-
変数を複数のモジュール間で共...
-
プロシージャを呼び出したプロ...
-
【VBScript】変数のスコープ
-
VB6のFriendについて
-
VB.NETのグラフィック描画で困...
-
ExcelのVBA。Staticな変数について
-
subを連続で実行する
-
文字列をINTEGER型に変換
-
subプロシージャーですか?sub...
-
変数の宣言はすべきでしょうか...
おすすめ情報