お世話になります。
下記のコードを実行すると
プロシージャまたは関数 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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
”パラメータ値を TextBox から String に変換できません
SQL Server
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
5
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
6
VBのReturnの使い方
Visual Basic(VBA)
-
7
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
8
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
9
変数をコントロール型で使用する方法
Visual Basic(VBA)
-
10
Oracle 8i コンマ(,)を含むデータをinsertしたい
その他(データベース)
-
11
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
12
ストアドのエラーについて
SQL Server
-
13
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
14
【アイコンの背景色が黒塗りになってしまう。】
フリーソフト
-
15
SQL ServerのストアドでOUTPUTパラメータを2つ
Visual Basic(VBA)
-
16
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
17
VBでストアドの戻りパラメータを受け取る方法
Visual Basic(VBA)
-
18
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
19
sqlserverにはグループ集計のfirstとlastがありません??
SQL Server
-
20
ペイントのBMPで作ったアイコンだと…
その他(パソコン・スマホ・電化製品)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パーソナルXLSBのfuctionを呼び...
-
subプロシージャーですか?sub...
-
ExcelのVBA。Staticな変数について
-
【VB6.0】 あるフォームから他...
-
【HTML、VBScript】HTAアプリケ...
-
共有フォルダの「共有のアクセ...
-
Functionの戻り値を配列にした...
-
Excel VBAでsub,dimは何の略?
-
C言語のサフィックスについて
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
ピッ、ってアルファベットでど...
-
文字列を配列に…。
-
テキストボックスを空白にする方法
-
visual basic初心者です。 visu...
-
テキストボックス内の簡単な計算
-
VB6でClickイベントを一時的に...
-
VC++ (byte)(col & 0xFF) の意味
-
EXCEL VBA 文字 アドレス 検...
-
RichTextBoxで指定行の色を自動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムの素朴な質問です 分...
-
【VB6.0】 あるフォームから他...
-
定数を構造体で・・・
-
プロシージャまたは関数の引数...
-
Excel vba で複数のテキストの...
-
【VBScript】変数のスコープ
-
パーソナルXLSBのfuctionを呼び...
-
【HTML、VBScript】HTAアプリケ...
-
プロシージャを呼び出したプロ...
-
VB6のFriendについて
-
PL/SQLのプロシージャ間でカー...
-
ExcelのVBA。Staticな変数について
-
HTML + VBScript で Sleep でき...
-
整数を二つ読み込み、それらの...
-
プロシージャの引数の取り得る...
-
Excel VBA カーソルを当てた際...
-
subを連続で実行する
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
おすすめ情報