問題タブ [sqldatareader]
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.
asp.net - SqlDataReader 列序数
「SELECT name, city, country FROM People」というクエリを呼び出しているとします。SqlDataReader を実行すると、SQL クエリと同じ順序で列が表示されますか?
つまり、次のコードが常に正しく機能することを信頼できますか。
また、序数 (reader["name"]) の代わりに列名を使用すると、どの程度のパフォーマンスが失われますか?
SqlDataReader での列の順序付けの動作を説明している公式の Microsoft ドキュメントはありますか?
c# - SqlDataReader - 結果セットはキャッシュされましたか?
SqlDataReader を使用する場合、戻り値セットは ExecuteReader ステップによって完全に決定されますか? または、読み取り中にソース テーブルに書き込むことによって取得するものに影響を与えることができますか? これは非常に大まかな疑似コードの例です。
読んでいるテーブルへの書き込みが原因で、他の環境で多くの悪いエラーが発生するのを見てきました。ここで、レコード k はリストの一番上 (Adams) から一番下 (Ziegler) にバンプされます。私は、SqlDataReader が免疫があると仮定しました (ha!)。真実?間違い?
.net - .NET DataReader と SQL 結合
現在、結合クエリを実行し、DataReader を使用して返されたデータにアクセスする .NET コードをいくつか書いています。序数位置を使用して行の値にアクセスする代わりに、何らかの接頭辞表記を使用して、返された行からフィールドにアクセスできるかどうか疑問に思っています (両方のテーブルに重複するフィールドが含まれている場合)。名前)?
c# - re: データへのアクセスと List/arraylist/list の作成に関する提案を探しています
私はこのようなことをしようとしています:
- データリーダーを使用して db のレコードにアクセスします。どのくらいのレコードが戻ってくるかはわかりません - ほとんどの場合、1 から 300 の間のどこかです。データは、各レコードの「0023」、「Eric」、「Harvest Circle」、「Boston」のようになります。
- すぐに何か (配列、リスト?) を入力して、接続を閉じたいと思いました。
- 入力されたオブジェクトを Web サービスに戻し、クライアントに送信する前に JSON に変換します。
私が直面している問題は、データリーダーからのデータをどのオブジェクトに入力するかです。最初は ArrayList を使用していましたが (代わりに List を使用する方法について読みました)、すべてのレコード (この場合は 2 つのアイテムのみ) を取得できましたが、各アイテム内の個々のフィールド (Eric、Boston、等)。
プラン B: foreach レコードを datareader に入力し、個々の列の値を配列に追加してから、各配列をリストに追加します。これはうまくいくと思いますが、インスタンス化する必要がある配列の数がわからない場合、配列をインスタンス化する方法がわかりません。言い換えれば、私は通常、この string[] myarray = new string[]{"eric", "boston", "etc"}; を実行します。
しかし、複数のレコードがある場合、それはどのように見えるでしょうか? 配列を作成し、リストに追加し、元の配列をクリアしてから再作成し、リストに追加しますか?
どんな助けでも大歓迎です!また、私はこれを行う別の方法に対して非常にオープンです。
ありがとう!
data-binding - SQLDataReader と DBDataRecord をパラメーターとして受け取る関数を作成するにはどうすればよいですか?
SqlDataReader 内でループしているときに通常呼び出される関数があり、その SqlDataReader からデータを取得し、それを処理します。
ここで、SqlDataReader にもバインドされている Data Bound Repeater オブジェクト内からも呼び出すことができるようにする必要があります...
DataBound コントロールでは、「OnDataBinding」イベントで、DataSet にバインドするときに通常これを行います。
今、私は DataReader にバインドしているので、試しました:
どうやら DataItem は DataRecordInternal 型であるため、機能しません
私はそれを「DbDataRecord」にキャストでき、その値にアクセスできましたが、SqlDataReaderを期待する関数にパラメーターとして渡すことは明らかにできません...
また、パラメーターに使用するために、両方に共通する基本クラスまたはインターフェイスが見つかりません...
ここで最も困惑しているのは、データ バインディングによって SqlDataReader が DbDataRecord に「変換」される方法です。関数内でこれを行うことができれば、2 つのオーバーロードを持つことができます。1 つは DbDataRecord を受け取り、その仕事を行い、もう 1 つは SqlDataReader を受け取り、DbDataRecord に「変換」して最初のオーバーロードを呼び出します。
何か案は?
ありがとう!
c# - SqlAdapter.Update を呼び出し、同時に SqlDataReader.Read を呼び出すと問題が発生しますか?
SqlDataAdapter.Update メソッドを使用して一定数の行 (128 行) を持つ単一のテーブルを更新するアプリケーションと、SqlDataReader を使用して定期的にこのテーブルから選択する別のアプリケーションの 2 つのアプリケーションがあります。
DataReader が 128 行ではなく 127 行しか返さない場合があり、更新アプリケーションは新しい行を削除したり挿入したりせず、更新するだけです。
この動作の原因は何ですか?
sqldatareader - SqlDataReaderのGetOrdinal()メソッドを使用する理由
この構文を使用してSqlDataReaderから値を読み取ることの違いは何ですか。
また
c# - データが存在しない場合の無効な読み取り試行
7行目までデバッグすると問題ありませんが、その後dr
は例外がスローされます。
データが存在しない場合の読み取りの試行が無効です。
表にusername=sumantのデータがあるため、なぜその例外が発生するのかわかりません。
'if'ステートメントが正しいかどうか教えてください。そして、どうすればエラーを修正できますか?
c# - DataReaderからの小数の解析
私はこのエラーの回避策を見つけましたが、なぜこれが発生するのかについて本当に興味があり、他の誰かがこのエラーを持っているかどうか疑問に思っていました。
私の機能は次のとおりです。
誰もがそれを見たことがありますか?
さらに奇妙なのは、これを入力した場合です。
これは正常に機能します。4.0は私のDataReaderから出てくるものです。
前に言ったように、TryParseメソッドは正常に機能するので、持ち運びを妨げることはありませんが、誰かがそれに対する答えを持っているかどうかを確認することに本当に興味があります。
返信をお待ちしております!
ショーン
編集-解決済み
decimal.Parseメソッドは正常に機能し、関数が2回目に実行されたとき(ループ内にあったとき)、投稿は評価されなかったため、データリーダーからnull値が返されていました。COALESCEをSQLで計算にラップすると、問題はうまく解決しました。したがって、あなたが言ったように、なぜ、tryparseメソッドは例外をスローせず、デフォルトの0を_ratingに維持するだけでした。
c# - C#で出力パラメータと結果セットを使用してSPを読み取りますか?
この単純化された例のようなストアド プロシージャを作成しました。
ExecuteReader()
オブジェクトのメソッドを呼び出した後、出力変数から値を読み取ろうとするとSqlCommand
、値が null になります。
私が間違っていることは何ですか?