問題タブ [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 投票する
2 に答える
1635 参照

c# - SqlDataAdapter を使用して、新しく挿入されたレコードの ID を取得します

上記を使用してデータベースにレコードを挿入しましたが、完璧に機能します。ここで、影響を受けた行が返されるのではなく、自動生成された新しく挿入されたレコードの ID (主キー) が必要です。

SCOPE_IDENTITY() 関数が必要なようですが、デザイナーが実際の挿入クエリに次の構文を追加することに満足していないため、これをデザイナーのどこに含めるかわかりません。ただし、sqlserver管理コンソールでは問題なく動作します

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

c# - SQL - 主キー違反を引き起こす SQLDataAdapter 更新

テーブルの主キーを変更できる必要があります。問題は、一部のキーが既存のキー値に変更されることです。たとえば、record1.ID 3=>4 および record2.ID 4=>5 です。これらは外部キーとして設定されているため(更新をカスケードします)、これらを主キーとして保持する必要がありますこれを達成する合理的な方法はありますか、それともSQLの異端を試みていますか?

理由については、この主キーによってリンクされたテーブルのセットからのデータが、同様に構造化されたテーブルの別のセットに挿入/更新されています。挿入は重複排除プロセスの一部であるため、部分的に行われます。挿入されるすべてのテーブルを新しい主キーで単純に更新できれば、作業は楽になります。

1 つの解決策は、着信テーブルの行数が到達するよりも高い宛先テーブルでインデックス作成を開始することです (着信テーブルは毎回再インデックス化されます) が、それでも上記を実行できるかどうか知りたいです。それ以外は。

ティア

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

c# - DataSets で失われ、C# でマージする

最新の編集!!!

お願いします...私はこのコードの多くの順列を経験してきました。データベース(SQLサーバー)から特定の関連レコードを取得してXMLにエクスポートし(これはうまくいくようです!)、そのデータベースの切断されたコピーにそれらを取得し、それらをそのデータベースにインポートして、プライマリでマージしようとしていますキー (キーが存在する場合は更新し、存在しない場合は挿入します)。

データベースには多くのテーブルがあり、変更されたエンティティの特定のリストに関連するすべてのテーブルが必要です。すべてのテーブル構造を失ったため、結合を使用して大規模で複雑なクエリを実行して、エクスポート DataSet に入力したいすべての列を取得できないことに早い段階で気付きました。また、Visual Studio 2005 の DataSet デザイナーに型指定されたデータセットを作成してもらいましたが、これを行う必要があるかどうかはわかりません。すべきでない場合は教えてください。

データをxmlにエクスポートするために私がやっていることは次のとおりです。

ご覧のとおり、私は同じ TableAdapeter を何度も再利用しています。最後に記述された XML は、各テーブルのタグがあり、その中に各フィールドのタグがあります。必要であり、それをマージして戻すことができます。インポートコードは次のとおりです。

現時点では、インポート関数の末尾近くにある Debug.WriteLine は、tblOrganizationTableAdapter の UpdateCommand が null であることを示しています。ビジュアルデザイナーは、それを作成するために作成したと言っていましたが、作成するだけでよい場合は、確かに作成しますが、これを何度も書き直しました (そして、これよりも多くのテーブルがあります)。 、そして私はまだ何が起こっているのか理解していません。これをどのように行う必要がありますか?!

どうもありがとうございます!ジョシュア


このコードはほとんど機能します。もう失敗することはなくなりましたが、主キーの比較を介して更新するのではなく、すべての行が重複してしまいます!

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

ado.net - SqlDataAdapter の更新

結合クエリでsqlDataadapterを使用して更新すると、このエラーが発生する理由を教えてください

複数の実表に対する動的 SQL 生成はサポートされていません。

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

c# - 2 つのデータテーブルを同期し、データベース内のターゲットを更新するにはどうすればよいですか?

2 つのデータベース間で 2 つのテーブルを同期しようとしています。これを行う最善の方法は、DataTable.Merge メソッドを使用することだと思いました。これは変更を反映しているように見えますが、データベースには何もコミットされません。

これまでのところ、私は持っています:

現在、ソースにはターゲットにない行が 1 つあります。この行は転送されません。空のターゲットでも試しましたが、何も転送されません。

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

c# - C# SqlDataAdapter が DataSet にデータを入力しない

私はネットを検索しましたが、ネットを検索しただけで、私が遭遇している可能性があるものを完全に見つけることができませんでした。現在、SqlDataAdapter を取得して DataSet を設定する際に問題が発生しています。Visual Studio 2008 を実行していて、クエリが SqlServer 2008 のローカル インスタンスに送信されています。クエリ SqlServer を実行すると、結果が返されます。コードは次のとおりです。

データセットを読み取るコード:

私が提供できる情報が他にある場合は、お知らせください。

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

c# - テーブルが外部ソースから変更された場合、SqlDataAdapter はそれ自体を更新できますか?

SQL Server テーブルはプログラムの外部から (実際には SQL トリガーから) 更新されるため、DataSet は変更があることを認識せず、明示的に SqlDataAdapter.Fill() を再度呼び出さない限り、DataGrid は更新されません (例: 「更新」ボタンまたは時限イベントで)。

ADO.NET が変更イベントなどをサブスクライブして更新する方法はありますか?

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

asp.net - データテーブルを正しくフィルタリングする方法 (datatable.select)

da.fill を呼び出すと、クエリからすべてのレコードが挿入されます。次に、それらをフィルタリングして、GroupingID が 0 に等しいものだけを表示することを望んでいました。上記のコードを実行すると。すべてのデータが表示されますが、フィルターは機能しませんでした。これを正しく機能させる方法を教えてください。ありがとう。

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

.net - TransactionScope が SqlDataAdapter.Update でロールバックしない

SqlDataAdapter.Update を DataTables と共に使用して、1 つのトランザクションで 2 つの SQL テーブルを更新しています。いずれかの挿入が失敗した場合は、すべてのデータをロールバックします。これは私のコードです:

私が抱えている問題は、2 番目のコマンドの実行中に例外がスローされた場合、最初のコマンドのデータがまだコミットされていることです。明示的にロールバックする必要がありますか? または、SqlDataAdapter.Update を使用するときに TransactionScope がどのように動作する必要がありますか?

注意すべき点は、もともと TransactionScope using ステートメント内で SqlConnection を作成していたことですが、DB サーバーが分散トランザクション用に正しく構成されていないというエラーを受け取ったため、それを移動しました。私の SqlConnection 作成が TransactionScope の外部にあるという事実は関連していますか?

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

vb.net - DataAdapter / DataSet SQLクエリを実行するときにエラーをチェックする方法は?

これは、SQLServerを使用してVBでDataAdapterとDataSetを使用してテーブルを更新する方法です。

INSERTステートメントの場合はFillメソッドが意味をなさないことは知っていますが、私はこのテクノロジーに不慣れであり、上記のステートメントが問題なくテーブルを更新します。私の質問はこれです:エラー(重複キーエラーなど)があった場合、アプリケーションでこれをどのように知ることができますか?上記のコードをtry/catchブロックに入れる必要がありますか?

また、Fillメソッドを使用しないDataAdapter / DataSetの組み合わせを使用してINSERTステートメントを実行するための「適切な」メソッドがある場合は、それも示してください。