問題タブ [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# - SQLDataReaderでの使用
私は以前に関連する質問をしたことを知っています。私はちょうど別の考えを持っていました。
引数は次のとおりです。SqlDataReader
dr
オブジェクトは接続オブジェクトやコマンドオブジェクトのような新しいオブジェクトではないため、cmd.ExecuteReader()
メソッドを指す単なる参照であるため、リーダーを。内に配置する必要がありますかusing
。(以前の投稿に基づいて、を使用するオブジェクトはIDisposable
に入れる必要がありusing
、からSQLDataReader
継承する必要があることを理解しているIDisposable
ので、それを入れる必要があります。私の判断で正しいですか?)新しいオブジェクトの場合、コマンドへの参照ポインタであるオブジェクトを破棄する際に問題が発生しますか?
どうもありがとう
c# - エンティティ フレームワークに移動する必要がありますか
私は Visual Studio 2005 を使用していますが、最近、新しい技術があると聞きました
entity framework
。
私にとって最も重要なことはパフォーマンスです。DataReaderを使用してDBからデータを取得し、それを一般的なリストとして返すことに注意してください..
任意の提案..ありがとうございます:)SqlDataReader
asp.net - LINQ to SQL - このコマンドに関連付けられているデータ リーダーが既に開いているため、最初に閉じる必要があります
最近、ASP.Net プロジェクトの静的クラスに Linq to SQL を実装しました。これは、サイトの負荷に関する情報を取得するためのユーティリティ クラスです。静的linqtosqlデータコンテキストを使用したとき、ライブ環境でのみ上記のエラーが発生しましたが、UATまたはQAサイトではその問題は発生しませんでした. (これは、この問題が負荷が大きい場合にのみ発生することを意味します)。
だから私はぐるぐる回って、この記事hereを見つけました。だから私がしたことは、ページレベルのデータコンテキスト変数を作成し、それらを呼び出すたびにそれらを静的メソッドに渡したことです。私がしたことは正しかったですか?それでこの問題は解決しますか?/
c# - sd データベースからドロップダウン リストで選択した項目の詳細を表示します
これは、ドロップダウンリストから選択した従業員の詳細をテキストボックスに表示するために書いたコードです。エラーは発生しませんでしたが、詳細がテキストボックスに表示されません...
このコードの何が問題なのかわかりません....修正するのを手伝ってください。
vb.net - 私はIfNotIsDBNull(dr( "data"))Then ...を使用する傾向があります。データリーダーから読み取るためのより良い方法はありますか?
私は使う傾向があります
nullをキャッチします。もっと良い方法はありますか?これを何度も使っているようですが?誰もがこれをチェックする関数を書く
返される可能性のあるさまざまなデータ型を処理する方法がわかりません。考えてくれてありがとう!
.net - MySQLコネクタ/NET接続接続ごとに複数のDataReader?
JavaからC#に移行しているので、Javaの機能よりもC#言語の機能の方が好きだと気づきましたが、この小さな問題があります。MySQL Connector / JおよびJDBCでは、アプリケーションの1つで、PreparedStatement
別のアプリケーションが開いているときに複数のを実行できると思います。たとえば、を返すクエリを実行でき、ResultSet
それResultSet
がまだ開いている間に、別のアプリケーションを開いて別のアプリケーションPreparedStatement
を取得できます。ResultSet
または、最初に取得したデータに基づいて更新を実行することもできますResultSet
(つまり、行のパスワード列にプレーンテキストのパスワードがあることに気付いたときに、ソルト値を挿入し、SHA512ハッシュでパスワード列を更新します)。
ただし、Connector / NETを使用すると、これを実行しようとすると、次のエラーが発生することに気付きました。
MySql.Data.MySqlClient.MySqlException: There is already an open DataReader associated with this Connection which must be closed first.
このエラーを修正する簡単な方法はありますか?MySQLから.NETへのブリッジの他の実装はありますか?1つのアプリケーションで多くのDB接続を作成したくはありませんが、(ThreadLocalのように)アプリケーションのスレッドごとに1つ作成したい場合があります。ThreadLocal DB接続は、2つの異なるメソッドで同時に2つのクエリを実行する場合に役立ちますが、明らかにこれら2つのコマンドを異なるスレッドに分離することはできず、余分なスレッドを作成したくありません。
ちなみに、これがコードそのものです。はい、リーダーを閉じた後、更新コードを下に移動できますが、同様の方法がたくさんあり、それらのいくつかはこれよりも修正が困難です。
更新コードを移動することが唯一の可能性である場合、またはそれが最良のものである場合、私はそれでやらなければならないと思いますが、最初に他の可能性についてより多くのアイデアを得てからオプションを選択したいと思います。
c# - ADO.NET の質問: DataReader、DataAdapter をいつ使用するか
データベースからデータを取得する際に DataReader と DataAdapter を使用するときに考慮しなければならないことと、この 2 つの他の datareader の違いは何ですか?すべての DAL で、dataadapter を使用することはありません。したがって、DataReader を使用するよりも、DataAdapter + Datatable の組み合わせを使用する方が良いシナリオは何でしょうか。前もって感謝します。
vb.net - DbDataRecord.GetValuesを使用してDataRowにデータを入力するにはどうすればよいですか?
VB9を使用して、いくつかのストアドプロシージャ呼び出しの結果をDataTableに入力しようとしています。私が仕事にしようとしているものは次のようになります:
DataRow.ItemArrayとDbDataRecord.GetValuesはきちんとプラグインする必要があるようです-そしてコンパイルします...しかし、実行すると、DataRowはSqlDataReaderからの結果ではなくnull値で埋められます。
DbDataRecordのフィールドをループして、次のように1つずつDataRowに挿入できます。
しかし、それは必要ではないようです。私はMSDNがこれに役立つとは思っていません。
それで、私は間違った木を完全に吠えていますか?または、少しエラーが発生した場合、それは何ですか?
c# - .NETのSqlDataReaderよりも高速なものはありますか?
C#を使用して、SQLServerのテーブルからメモリ内の配列に文字列の1列をロードする必要があります。SqlDataReaderを開いてループするよりも速い方法はありますか?テーブルは大きく、時間が重要です。
編集私は.dllを構築し、データベースでのいくつかの操作のためにサーバー上でそれを使用しようとしています。しかし、今のところ遅くなります。これが最速の場合は、データベースを再設計する必要があります。私は物事をスピードアップする方法があるかもしれないと思います。
.net - SqlDataReader.GetValueクエリは依存していますか?
私のコードには、このようなクエリがあります
sqldatareaderを使用してデータを取得します。
クエリを変更した場合
dotTraceを使用すると、2番目のクエリでgetvalueの呼び出しに時間がかかることがわかります。その理由を知りたいのですが、...
それが正当な理由ではないと絶対に確信している場合は、SqlDataReader.getValueのパフォーマンスに影響を与える可能性があるものを教えてください。
ありがとう
編集:クエリに含まれていないテーブル「people」の列に依存している可能性はありますか?(たとえば、このテーブルには多くのntext列があります)