問題タブ [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.

0 投票する
1 に答える
5412 参照

c# - C# 2.0 System.Data.SqlTypes.SqlXml オブジェクトを System.Xml.XmlNode に変換する

C# で XML との間でデータを変換する際に常に問題があるようです。作成する必要がないと思われる場合でも、常に完全な XMLDocument オブジェクトを作成する必要があります。この場合、MS SQL 2005 サーバーに SQLXML 列があり、それを引き出して、パラメーターとして XMLNode を必要とする関数にプッシュしようとしています。これは簡単だと思うかもしれませんが、文字列に変換して新しい XMLNode オブジェクトを作成する以外に、正しい方法がわかりません。

SqlDataReader、sqlComm.ExecuteReader() を使用してリーダーをロードし、sqlReader.GetSqlXml(0) を使用して SQLXML オブジェクトを取得できますが、それを XmlNode に変換するにはどうすればよいでしょうか?

逆に、sqlComm.ExecuteXmlReader() を使用して XmlReader を取得できますが、リーダーから XmlNode を抽出するにはどうすればよいでしょうか? http://bytes.com/forum/thread177004.htmlは、XmlTextReader では実行できないと言っていますが、XmlNodeReader を使用する必要がありますか?

助けてください!

0 投票する
10 に答える
15596 参照

asp.net - ASP.NET で複数のレコードセットをプルするときの DataReader または DataSet

設定する必要のある一連のコントロール (ドロップダウン リストなど) を含む ASP.NET ページがあります。

コントロールごとに往復するのではなく、db に 1 回アクセスして複数のレコードセットを取得したいと考えています。

複数のテーブルを DataSet に戻すことも、DataReader を戻し、'.NextResult' を使用して各結果セットをカスタム ビジネス クラスに入れることもできます。

DataReader アプローチを使用すると、十分に大きなパフォーマンス上の利点が得られる可能性がありますか?それとも、DataSet アプローチを使用する必要がありますか?

これを通常どのように処理するかの例をいただければ幸いです。

0 投票する
4 に答える
2908 参照

c# - SqlDataReader にレコードを追加する

テーブルをプルダウンした後、新しいレコードを SqlDataReader にプッシュする方法はありますか? 変更が必要なゴミコードがありますが、これが必要なことを行う最も簡単な方法のようです。これを行うべきではないことは理解しています。もしそうしなければならない場合、あなたの論理には深刻な問題がありますが、方法はありますか?

0 投票する
1 に答える
765 参照

dispose - SqlDataReader: このシナリオでは、リーダーは閉じられますか?

継承した古い .NET 1.1 プロジェクトの DataReaders をクリーンアップしています。

以前の開発者は、ほとんどの DAL メソッドが SqlDataReaders を返すような方法でデータ アクセス レイヤーをコーディングしました (したがって、.Close() メソッドまたは .Dispose() メソッドを適切に呼び出すのは呼び出し元に任されていました)。

ただし、呼び出し元が返された SqlDataReader をキャッチしていない (したがって、適切に破棄していない) 状況に遭遇しました。以下のコードを参照してください。

データ アクセス方法:

呼び出しコード:

ご覧のとおり、呼び出し元のメソッドは、返された SqlDataReader を受信/キャッチしません。それでどうなるの?その SqlDataReader はまだそこにあり、開いていますか? それとも、何も対処されていないため、自動的にガベージコレクションが行われますか?

これをデバッグしてテストする方法が思いつきませんでした。誰かに素晴らしいアイデアや提案があれば。

0 投票する
3 に答える
2299 参照

c# - SqlDataReadersのキャスト

に置き換えることの利点は何(int)reader[0]ですかreader.GetInt32(0)?そのようなキャスト機能があるのには理由があると思いますが、自分でキャストを避けたほうが見た目が良いということ以外は、その理由がわかりません。

0 投票する
4 に答える
2393 参照

c# - C#/ASP.NET に SqlDataReader オブジェクトを格納しますか?

現在、すべてのデータベース クエリを処理するために、ASP.NET (3.5) アプリケーションで C# クラスを作成しています。データベースへの選択クエリを作成するためのメソッドがいくつかあります。メソッド内ではSqlDataReader r = command.ExecuteReader();、データをフェッチするだけです。

メソッドによって返されるようになりrましたが、データベース接続を閉じると、データリーダーが閉じられ、オブジェクトには何も含まれなくなります。すべてを文字列配列に入れることを考えましたが、データベースに整数フィールドとテキストフィールドが混在している場合、これは実用的ではありません。返すオブジェクトにデータを格納する簡単な (「既製の」) 方法はありますか?

0 投票する
3 に答える
30858 参照

sql - SQLDataReaderからDataSetにデータを入力するための最良の方法

DataReaderを非同期的に取得しているDALに取り組んでいます。

DataReaderをDataSetに変換するための単一のメソッドを作成したいと思います。この1つのメソッドがすべてのフェッチのニーズを処理できるように、異なるスキーマを処理する必要があります。

PS SQLDataReaderに非同期でデータを入力していますが、DataReaderを削除するような回答はしないでください。

0 投票する
4 に答える
1530 参照

c# - 値へのアクセスにおけるSqlDataReaderのパフォーマンスの違い?

SqlDataReaderから値にアクセスする場合、次の2つの間にパフォーマンスの違いがあります。

また

このコードサンプルでは:

0 投票する
2 に答える
5491 参照

width - SqlDataReader から列幅を取得する

以前、このクエストで StackOverflow に参加したことがあります: MS SQL2005 Query/Stored Proc Results To Text using SqlCommand or any other method

SQL Managment Studio の Results To Text (Cntrl + T) と同じ結果が得られるように、自分で文字列を作成するように言われました。

問題が発生しました。列の幅を動的に決定するにはどうすればよいですか? また、VARCHAR(MAX) の列はどうですか? 事前に SqlDataReader に何が入るかはまったくわかりません。

これまでのコードは次のとおりです。基本的に PADDING_LENGTH を排除し、その値を動的に置き換える必要があります。

どこかのネットから基本的なコードを持ってきました。(最初に書いた人、ありがとう)

乾杯、カイ。

0 投票する
5 に答える
17246 参照

.net - SqlDataReader のパフォーマンスの低下

MSSMSで約2秒実行するクエリを実行しました(25Kの行を返します)

.NET (sqlReader) で使用される同じクエリを数分実行します。

また、リーダーのみを実行しようとしました

( while ループ内のすべてのコードにコメントして、 Reader.Read() を残すだけです) - それでも同じです!

どうしたの?


私は DBA ではなく、Profiler を使用する特権もありません。DBA に尋ねて、すべてを知らせます。

その間、SPに「 WITH RECOMPILE」パラメータを追加した後、本質的なパフォーマンスの向上に気づきました。

だから、私の観点からは、それは実行計画の場合のように思えます...どう思いますか?

[編集] また、私がチェックしたのは、QA および .NET から以下のクエリを実行していたことです。

私の理解では、両方の環境で同じ値を返す必要があります。(そうでない場合は ex.plans が使用されます) 私は正しいですか?

[EDIT2] ( http://www.sqldev.net/misc/fn_setopts.htmから) QA でARITHABOIRT =ON を読みました (.NET ではオフです)

.NET 接続ごとに ARITHABOIRT=ON を強制する方法を知っている人はいますか?