問題タブ [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.
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 を使用する必要がありますか?
助けてください!
asp.net - ASP.NET で複数のレコードセットをプルするときの DataReader または DataSet
設定する必要のある一連のコントロール (ドロップダウン リストなど) を含む ASP.NET ページがあります。
コントロールごとに往復するのではなく、db に 1 回アクセスして複数のレコードセットを取得したいと考えています。
複数のテーブルを DataSet に戻すことも、DataReader を戻し、'.NextResult' を使用して各結果セットをカスタム ビジネス クラスに入れることもできます。
DataReader アプローチを使用すると、十分に大きなパフォーマンス上の利点が得られる可能性がありますか?それとも、DataSet アプローチを使用する必要がありますか?
これを通常どのように処理するかの例をいただければ幸いです。
c# - SqlDataReader にレコードを追加する
テーブルをプルダウンした後、新しいレコードを SqlDataReader にプッシュする方法はありますか? 変更が必要なゴミコードがありますが、これが必要なことを行う最も簡単な方法のようです。これを行うべきではないことは理解しています。もしそうしなければならない場合、あなたの論理には深刻な問題がありますが、方法はありますか?
dispose - SqlDataReader: このシナリオでは、リーダーは閉じられますか?
継承した古い .NET 1.1 プロジェクトの DataReaders をクリーンアップしています。
以前の開発者は、ほとんどの DAL メソッドが SqlDataReaders を返すような方法でデータ アクセス レイヤーをコーディングしました (したがって、.Close() メソッドまたは .Dispose() メソッドを適切に呼び出すのは呼び出し元に任されていました)。
ただし、呼び出し元が返された SqlDataReader をキャッチしていない (したがって、適切に破棄していない) 状況に遭遇しました。以下のコードを参照してください。
データ アクセス方法:
呼び出しコード:
ご覧のとおり、呼び出し元のメソッドは、返された SqlDataReader を受信/キャッチしません。それでどうなるの?その SqlDataReader はまだそこにあり、開いていますか? それとも、何も対処されていないため、自動的にガベージコレクションが行われますか?
これをデバッグしてテストする方法が思いつきませんでした。誰かに素晴らしいアイデアや提案があれば。
c# - SqlDataReadersのキャスト
に置き換えることの利点は何(int)reader[0]
ですかreader.GetInt32(0)
?そのようなキャスト機能があるのには理由があると思いますが、自分でキャストを避けたほうが見た目が良いということ以外は、その理由がわかりません。
c# - C#/ASP.NET に SqlDataReader オブジェクトを格納しますか?
現在、すべてのデータベース クエリを処理するために、ASP.NET (3.5) アプリケーションで C# クラスを作成しています。データベースへの選択クエリを作成するためのメソッドがいくつかあります。メソッド内ではSqlDataReader r = command.ExecuteReader();
、データをフェッチするだけです。
メソッドによって返されるようになりr
ましたが、データベース接続を閉じると、データリーダーが閉じられ、オブジェクトには何も含まれなくなります。すべてを文字列配列に入れることを考えましたが、データベースに整数フィールドとテキストフィールドが混在している場合、これは実用的ではありません。返すオブジェクトにデータを格納する簡単な (「既製の」) 方法はありますか?
sql - SQLDataReaderからDataSetにデータを入力するための最良の方法
DataReaderを非同期的に取得しているDALに取り組んでいます。
DataReaderをDataSetに変換するための単一のメソッドを作成したいと思います。この1つのメソッドがすべてのフェッチのニーズを処理できるように、異なるスキーマを処理する必要があります。
PS SQLDataReaderに非同期でデータを入力していますが、DataReaderを削除するような回答はしないでください。
c# - 値へのアクセスにおけるSqlDataReaderのパフォーマンスの違い?
SqlDataReaderから値にアクセスする場合、次の2つの間にパフォーマンスの違いがあります。
また
このコードサンプルでは:
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 を排除し、その値を動的に置き換える必要があります。
どこかのネットから基本的なコードを持ってきました。(最初に書いた人、ありがとう)
乾杯、カイ。
.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 を強制する方法を知っている人はいますか?