問題タブ [ado.net]

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 投票する
14 に答える
20940 参照

.net - SqlCommandBuilderを使用して(Stored Procを使用せずに)挿入時にIDENTITY列の値を取得できますか?

参考までに: dotnet 3.5 SP1 で実行しています

(SqlDataAdapter と SqlCommandBuilder を使用して) 更新を実行した後、ID 列の値をデータセットに取得しようとしています。SqlDataAdapter.Update(myDataset) を実行した後、自動割り当てされた の値を読み取れるようにしたいのですがmyDataset.tables(0).Rows(0)("ID")、System.DBNull です (行が挿入されたにもかかわらず)。

(注: これを行うために新しいストアド プロシージャを明示的に記述したくありません!)

http://forums.asp.net/t/951025.aspxに投稿されることが多い 1 つの方法は、次のように SqlDataAdapter.InsertCommand と UpdatedRowSource を変更します。

どうやら、これは過去に多くの人にとってうまくいくように見えましたが、私にはうまくいきません。

別の手法: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=619031&SiteID=1も機能しません。SqlDataAdapter.Update を実行した後、SqlDataAdapter.InsertCommand.Parameters コレクションがリセットされるためです。元の (追加で追加されたパラメーターを失う)。

これの答えわかる人いますか???

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

c# - SqlParameter Size - 最大サイズに設定することの悪影響?

SqlCommand呼び出したい がありPrepare()ますCommandType = Text(ストアド プロシージャではありません)。

これを行うにはSize、パラメーターの属性をゼロ以外に設定する必要があります。そうしないと、例外がスローされます。Size実際の値のサイズがそれに近づくことはないとしても、すべてのパラメータを可能な最大サイズに設定することによる悪影響はありますか? これを行うより良い方法はありますか?

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

asp.net - ADO.NET接続プールのプロファイルを作成するにはどうすればよいですか?

ASP.NETWebアプリケーションのプロファイリングを行っています。データベース接続が非常に集中していると思います(ADO.NET接続プールの過度の使用)。デバッグなしでプールに何回行くか、そして平均してプールで利用可能な接続の数を知るにはどうすればよいですか?PerfMonまたは他のツールでこの情報を提供するカウンターはありますか?

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

.net - Rhino Mocks: ADO.NET の DataRow をモックする方法は?

ADO.NET には、new を使用してインスタンス化できない悪名高い DataRow クラスがあります。これは、Rhino Mocks を使用してモックする必要があることがわかった今、問題です。

この問題を回避する方法を知っている人はいますか?

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

c# - リモート クライアントが ASP.NET/ADO を使用して XLS ファイルを開くことができない

私は次のことをしようとしています:

  1. ユーザーが Web ページにアクセスし、XLS ファイルをアップロードします
  2. ADO .NET を使用して、JET エンジン接続を使用して XLS ファイルを開き、Web サーバーにローカルにアップロードされたファイルを開きます

これはすべてローカルで正常に動作します (クライアントおよび Web サーバーとしての私のマシン) - 実際、リモート クライアントを使用して顧客の Web サーバーで動作していますが、リモート クライアントを使用して内部的にテストしようとすると動作しません。

私が得るエラーは次のとおりです。

エラーを生成するコードは次のとおりです。

「Open」の呼び出しで上記の例外が発生しています。

サイトは偽装を使用しており、すべての呼び出しは、クライアントにログインしているユーザーとして行われます。これを機能させるためにこれまでに行ったこと:

http://support.microsoft.com/kb/251254/の手順に従い、テストに使用しているユーザーに TMP/TEMP 環境変数ディレクトリへのアクセス許可を割り当てました (ASPNET へのアクセス許可も割り当て、次に "Everyone" へのアクセス許可も割り当てました)。ブランケット「これは権限に関連していますか?」テスト)。

ファイルがアップロードされ、XLS ファイル自体が、ファイルへのフル アクセスをユーザーに許可するディレクトリ アクセス許可を継承していることを確認します。念のため、このディレクトリのアクセス許可を「全員」に与えましたが、それも役に立ちませんでした。

環境変数を変更する必要はなかったため、これらの変更を行った後に再起動する必要はありませんでしたが、Windows フォルダー/ファイルのアクセス許可を有効にするために再起動する必要はありません。

この時点で、私は完全に途方に暮れています

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

sql-server - DataSet を同期する

DataSet をデータベース内のデータと同期するための最良の方法は何ですか? パラメータは次のとおりです。

  • データはユーザーが構成した可能性のある UI コントロールにバインドされているため、単純にデータを再読み込みすることはできません (展開/折りたたみが可能なツリー グリッドです)。
  • データベースで変更フラグ (UpdatedTimeStamp など) を使用することはできません。これは、変更が常にアプリケーションを通過するとは限らないためです (たとえば、DBA は SQL ステートメントでフィールドを更新できます)。
  • マルチユーザー システムであるため、データベースで更新トリガーを使用できません。
  • ADO.NET DataSet を使用しています
  • 特定の行の複数のフィールドを変更できます

DataSet の Merge 機能を見てきましたが、これは「ID」列の概念を保持していないようです。私は DiffGram 機能を見てきましたが、ここでの問題は、外部データ ソースで発生した変更ではなく、同じ DataSet 内の変更から生成されたように見えることです。

私はしばらくの間このソリューションから実行してきましたが、私が知っているアプローチは (多くの非効率性で) 機能することを知っています。それは、別の DataSet を構築し、フィールドごとに変更を適用するすべての行を、それが存在する DataSet に適用することです。バウンド。

誰かが同様のシナリオを持っていましたか? 問題を解決するために何をしましたか。同様の問題に遭遇していない場合でも、解決策の推奨事項は大歓迎です。

ありがとう

0 投票する
7 に答える
746 参照

c# - パラメーター化された SQL クエリ

これは私が最近割っているナッツです

私が取り組んでいるアプリケーションには、SQL に対する高度な処理が含まれています。操作の 1 つは、コレクション内のアイテム名に基づいて、さまざまなテーブルから現在のコンテキスト内のオブジェクトのさまざまなメタデータを選択します。このために、「select...from...where...in()」の範囲が実行され、悪意のある SQL コードを防ぐために、「in()」句の内容を構築するために Sql パラメータが使用されます。

ただし、「in()」句を構築するためのアイテム コレクションが 2100 アイテムを超える場合、クエリごとに最大 2100 個の Sql パラメーターという Sql Server の制限により、これは失敗します。

私が現在試しているアプローチの 1 つは、「where in()」を使用する代わりに、すべてのアイテム名を格納するための #temp テーブルを作成し、元のクエリでテーブルを結合することです。これにより、.NET コードの配列に格納されたアイテム名をテーブルに入力する方法について頭を悩ませています。確かに、アイテムごとに個別の「挿入先」を発行するのではなく、すべてを一括して挿入する方法が必要ですか?

それ以外に、この問題を解決するための代替アプローチに非常に興味があります。

どうもありがとう

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

c# - ADO.NET を使用するオープン ソースの C# プロジェクトはどこにありますか?

私が持っている非常に小さなデータベースの概念のために、Windows フォームと ASP.NET C# フロントエンドと MSAccess バックエンドを作成しようとしています。

以前にこのアプリケーションを MSAccess だけで作成したことがありますが、アプリケーションとデータベースを別の場所に配置する必要があります。ADO は常に接続を開いておく必要があるため、ADO は不適切な選択であることがわかりました (StackOverflow ユーザーのおかげです)。

私は Microsoft ADO.Net 2.0 Step-by-Step を購入しました。その一部を読み、ADO.NET の基本的な概念を理解しました (と思います)。(データセット等)

私が混乱するのは、実際の実装です。私が知りたいのは、コードを見て、彼らがどのようにそれを行ったかを確認できるオープン ソースのデータベース バックエンドを持つ C# プロジェクトを知っている人がいるということです。私はその方法でよりよく学ぶことができます。この本にはサンプル コードが収録された CD が含まれていますが、実際のアプリで実際のコードを参照したいと思います。

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

c# - 名前/型を知らずにSqlParametersを追加するにはどうすればよいですか?

DB ラッパーを作成していて、ステートメントに SQL パラメータを追加する必要がありますが、パラメータの名前やタイプがわかりません。どうすればよいですか? 私は他の多くのライブラリがこれを行うのを見てきました...

値の順序をストアドプロシージャにマップしたいだけです...次のコードが機能すると思いました:

これを達成する方法のアイデアはありますか? 注: Enterprise Library など、既にこれを行っている他のライブラリがあることは知っていますが、私はそれが役に立たない状況にあります...

ありがとう。

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

c# - 複数のテーブルをデータセットに読み込むにはどうすればよいですか?

複数のテーブルを返すストアド プロシージャがあります。両方のテーブルを実行して読み取るにはどうすればよいですか?

私はこのようなものを持っています:

読み方がわかりません...このタイプのクエリを処理する最良の方法は何ですか。データを DataSet に読み込む必要があると思いますか? これを行う最善の方法は何ですか?

ありがとう。