問題タブ [sqldataadapter]

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 に答える
632 参照

c# - SqlDataAdaptor をモックするときに、Moles が「モール化された」DataSet を返さないのはなぜですか?

Moles を使用して、トリッキーなレガシー コードを模倣し始めたところです。本質的に、私は SqlDataAdapter を Moles で動作させようとしています。(ところで、SqlDataReader クラスと SqlCommand クラスでモルを使用して成功しました。) 以下の「単純な」単体テストの例を作成しようとしました。ここでは、SqlDataAdaptor に提供された DataSet を「埋める」ようにさせようとしています。次に、Moles を使用するときは、データ セットからデータを取得する際のさまざまな呼び出しをモックしています。DataSet を正しく設定したので、データを取得すると、期待される「成形された」オブジェクトが返され、正しいことが行われると思います。

以下を実行すると、FillDataSetString ラムダ式が実行され、"d" が "moled" ds に設定されていることがわかります。ただし、Fill メソッドが戻ると、渡された DataSet (「dset」) は、「成形された DataSet」ではなく、通常の「DataSet」のままです。したがって、最初の Assert は正しく動作せず、IndexOutOfRangeException (「テーブル 0 が見つかりません」) をスローします。最初の Assert では、dset.Tables[0].Rows.Count が評価されるときに、次の「モールドされた」メソッドが呼び出されることを期待しています。

しかし、dset は「成形された」DataSet ではないため、これらの呼び出しは発生しません。Moles が SqlDataAdapter のデータセット パラメータを使用して何を行っているかを理解するための助けをいただければ幸いです。

以下を機能させるには、"Moles" をインストールし、System.Data、System.Xml を参照し、"System.Data.moles" 参照を作成する必要があります。Moles フレームワークの 0.94.0.0 を使用しており、これを VS.NET 2010 で実行しています。テスト プロジェクトの「ターゲット フレームワーク」は「.NET Framework 4.0」に設定されています。

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

data-access-layer - SqlDataAdapter を使用したデータの読み取りと更新に関する質問

SqlDataAdapter を使用してアプリケーションのデータにアクセスして更新する方法の例を探しています。今、私はこのようなものを持っています:

これらはすべてコード ビハインドで発生しますが、私はそれがまったく好きではありません。だから、私はこのようなことをする方法を見つけようとしています:

WhereSaveStudentsメソッドは引き続き SqlDataAdapter を使用して db を更新します。

これを機能させる方法についてのアイデアや、このようなことを行うためのベスト プラクティスへの指針は高く評価されます。ありがとうございました。

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

select - SQL Server db から NULL 値を選択

select ステートメントに問題があります。

次のようになります。

しかし、その DBNull.Value を機能させる方法がわかりません。代わりに "" を使用してみましたが、うまくいきません。

このステートメントを書き直す方法についてのアイデアはありますか? ありがとうございました。

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

c# - SqlDataAdapterのメモリ使用量

グリッドに150万をロードするアプリケーションがあります。問題は、大量のメモリを必要とすることです。(1.8 GB)

私は次のことを観察しました、

  • SQLクエリアナライザで実行した場合、同じクエリで約60MBかかります
  • アプリケーションでは、ExecuteNonQuery()を実行するだけで、約60MBもかかります。

DataTableとして出力するために実行すると問題が発生しますが、実行方法に問題があると感じています。助けてください。

これが私がそれを行う方法です(私がSPを呼び出しても、それは私がパラメーターとして渡すsqlも実行します)

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

c# - 挿入後の SqlDataAdapter Get Identity

SqlDataAdapterに塗りつぶした後に を作成しDatasetます。IDENTITY私の質問は、挿入後にプライマリ列の値を取得したいということです。たとえば、buttonedit1 editvalue を指定するとId(これは私のプライマリ列です)、挿入後、ButtonEdit1 テキストで Identity 値を取得したいとします。

次のようなSQLコマンドを使用しない限り、これを作成できますかSelect @IDentity

ありがとう。

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

c# - データアダプタとSQLコマンド

ms-sqlデータベースの挿入ステートメントを実行するのにどちらが良いでしょうか。

SQL DataAdapterまたはSQLコマンドオブジェクト?

それらのどれが、その間inserting only one row、そしてその間、より良いでしょうinserting multiple rowsか?

コード使用法の簡単な例:

SQLコマンド

SQLデータアダプタ

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

asp.net - dataAdapter.fill()にパラメーターを追加します

sqlDataAdapterにパラメーターを追加しようとしています。parameters.add()を使用しようとしましたが、アダプターがsqlCommandではありません。これが私のコードの一部です。

基本的に私はこのようなことをしようとしています:

0 投票する
0 に答える
375 参照

c# - SqlDataAdapter の ID を取得

挿入された行の ID を取得するために、次のことを行っています。

IDを自動的に取得する方法はありますか?

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

.net - SqlDataAdapter.Update がサイレント モードで失敗する

私のアプリケーションには、データベース テーブルの内容をユーザーに表示するコントロールがあります。このコントロールは、System.Data.DataSetオブジェクトに表示するデータを保持します。ユーザーは、コントロールに表示されたデータを変更できます。ユーザーの操作が完了すると、このデータはデータベースにコミットされます。

ユーザーがコントロールで編集を行っているときに、データベース テーブルのデータが外部プロセスによって変更されると (たとえば、いくつかの行が更新されるなど)、問題が発生します。ここでは、データの正確性の問題を無視して、ユーザーがコントロールで行った変更をコミットし、この外部プロセスによって行われた変更を上書きします。

を使用しSqlDataAdapterてデータベースを更新しています。説明されている使用例では、基になるデータベース テーブルが外部プロセスによって変更されていない場合、SqlDataAdapter.Update期待どおりに動作します。ただし、ユーザーがテーブルを編集しているときに外部プロセスがテーブルをいじったシナリオではSqlDataAdapter.Update、例外はスローされず、行が更新されなかったことを示す 0 が返されます。データセットの行に正しいデータが含まれていることを確認したのでRowState(つまりDataRowState.Modified)、メソッドに渡すデータが正しいことがわかりSqlDataAdapter.Updateます。

私の質問には2つの部分があると思います。

  1. SqlDataAdapter.Update指定されたデータセットでデータベースを更新しないのはなぜですか?
  2. なぜ静かに失敗するのですか?

このブログ エントリを読みましたが、私のコードはAcceptChangesどこにも呼び出されません。上で述べたように、 をチェックしたので、行が変更されたデータとして正しくマークされていることがわかりましたDataSetRowState

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

vb.net - SQLDataAdapter がデータ テーブルに主キーを入力するとエラーが発生し、sub が終了します

わかりましたので、これには説明が必要です。

私がやろうとしているプロセスは、SQL のテーブル関数からデータを取得し、返された値をデータセットに入力することです。次に、このクエリをさらに 2 回実行して、別の数値テーブルをクエリする必要があります。次に、前のクエリと同じテーブルに追加します。これは可能な限り高速である必要があるため、現在、adapter.fill を使用してデータセットを作成し、dataset.merge を使用してそれらすべてを 1 つのテーブルに配置しています。

問題は、クエリが時間とスペースを浪費する重複を返す可能性があることです。このため、重複を停止するために列 3(part_ID) を主キーにしました。

これを .merge で実行すると、複製の最初のインスタンスで終了し、作成を続行しません。

以下のコードは、これを修正するために使用したものです。よりエレガントなソリューションがあるかどうか疑問に思っていました。

助けやアドバイスをありがとう^__^