問題タブ [executescalar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# cmd.ExecuteScalar(): "セッションが強制終了状態のため、実行を続行できません。"
ExecuteScalar()
Web上でヘルプが見つからない という奇妙な例外を取得します:
セッションが強制終了状態のため、実行を続行できません。
SqlConnection/SqlCommand を使用しています
コマンドは基本的な INSERT INTO... で、105 列 (および列データを設定するための 105 個のパラメーター) があり、その後に SELECT SCOPE_IDENTITY(); が続きます。
接続文字列を確認しました - それは正しく、接続は開いています。
このエラーが何を示しているのか、このエラーをどこから調べればよいのかさえわかりません。
では、このエラーは正確には何を意味するのでしょうか? そもそもセッションはどのようにして kill 状態になるのでしょうか?
コードは非常に簡単です。
c# - さまざまな変数にexecutereaderを使用するにはどうすればよいですか?
ExecuteScalar
次のような単一のクエリに使用します。
それは私にとってはうまくいっています。しかし、データベースのために3つ(および他のデータベースの場合はそれ以上)のクエリが非常に待機しています。すべてのテーブルを選択し (select * from Table1)、すべての where 条件に対してコマンドを実行した後、どのようにすればよいですか? 私のサンプルコードでこれの例を見せてもらえますか? ありがとうございました。
c# - ExecuteScalar: 接続プロパティが初期化されていません。SQL サーバー接続
SQL Server データベースに保存されている画像を読み取るためにこのコードを書きましたが、次のエラーが発生しました。
ExecuteScalar: 接続プロパティが初期化されていません。
すでに接続を初期化しているため、何が問題なのかわかりません。
c# - 配列を使用した DB2 でのカウント クエリの選択
配列の内容を使用してテーブルを検索するクエリを使用して、DB2 データベース内のすべてのレコードをカウントしようとしています。
このコードは例外をスローします ({"EXECUTE または OPEN ステートメントのホスト変数の値は、対応する使用の範囲外です。"})
ただし、strNumbers.Length を使用するとエラーは発生しませんが、nodeCount はまだ 0 です。
ループする必要がありますか、それとも別のものですか?同じプログラムからデータベースに選択、挿入できるため、クエリとデータベース接続は問題ありません。
ありがとう
編集 - 私はこれを解決することができました(受け入れられた回答を参照)が、別の問題があります。「1234567」がデータベースにあるとしましょう。1 が返されたら問題ありません。入力がデータベースにない「5551234」の場合、0 が返されますが、これも問題ありません。ただし、問題は、入力が '1234567,5551234' の場合、5551234 がデータベースにない場合でも、1234567 がデータベースにあるため、Count は 1 を返します。
1234567 に対して 1 を出力し、5551234 に対して 0 を出力する方法はありますか?
c# - ExecuteScalar メソッドを呼び出すときに、リーダーが閉じているときに Read を呼び出そうとする無効なエラー
Excel ファイルからデータをロードする必要がある ASP.NET アプリケーションがあります。ファイルには約 20K のレコードが含まれています。アプリはファイルからデータを読み取り、各レコードをループして計算と検証を行い、各レコードを DB に挿入します。Insert メソッドが例外をスローするまで、すべてが期待どおりに機能します。エラーは、10 ~ 11 分の実行後にスローされます。注: すべてのロード プロセスは、次のように定義されたトランザクション スコープで実行されます。
SQLConnection が開かれるたびに、SQL プロファイラーを使用してこれを確認しました。DB を操作するために、Microsoft.Practices.EnterpriseLibrary.Data.Database オブジェクトを使用します。これは Insert メソッドです。
これはエラーです:
このエラーに関する検索情報があり、主な考えは接続が閉じられているということですが、理由がわかりませんか?
助けやアドバイスをいただければ幸いです
c# - MS SQL 関数が C# に値を返さない
次の MS SQL 関数があります。
関数を呼び出す次の C# コード:
関数が cmd.ExecuteScalar() に到達すると、NullReferenceException が発生します。
「dbo.」を使用して、または使用せずに関数を呼び出してみました。また、成功せずに cmd.ExecuteReader() を使用して呼び出してみました。
ここで何がうまくいかないのですか?
vb.net - インジェクション攻撃からの SQL の防止
私は SQL クエリを含むプログラムを持っていますが、昨日、SQL インジェクション攻撃に対して無防備であると指摘されました。いくつかの調査を行った後、これを修正するには、代わりにパラメーターを使用する必要があることがわかりました。次のコードがあります...これをどのようにパラメータ化しますか?
ado.net - ExecuteScalar が例外をスローしない
メイン テーブルと詳細テーブルにデータを挿入しようとしています。
私のメインテーブル Qry: Insert INTO tblMain();
それから私はやっています:
@OrderID
次に、 as
の値を使用して詳細テーブルに挿入していますInsert into tbl_Details(OrderID,SKU,amount) Values(@OrderID,NULL,20 );
inが null でない場合、すべてのクエリを一度に実行して null として渡すと、例外が発生しtbl_Details
ません。SKU
ExecuteScalar
SKU
私の実行機能は次のとおりです。
解決策はありますが、そのためには、関数のシグネチャを次のように変更する必要があります。
私が欲しいのは、関数の署名を変更せずに、詳細テーブルのnull不可フィールドがnullとして渡された場合に例外をスローするように、古い関数でantのことを実行できるかどうかです。