問題タブ [sqlcommandbuilder]

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

c# - DataTable.Update が失敗し、DBConcurrencyException がスローされる

DataTable.Update メソッドを利用して SQL データ ソースを更新しようとしています。以下は、更新を実行するメソッドのコードです。

上記のメソッドは、ユーザーが [テーブルの更新] ボタンをクリックすると呼び出されます。
何が起こっているかは、与える前にda.ContinueUpdateOnError = truetry catchテーブルにレコードが更新/挿入されないことですDBConcurrencyException。 を追加した後、はエラーなしで続行されますが、 の最初の行はまだ更新されませんが、 の 2 番目の行が挿入されます。Concurrency violation: the UpdateCommand affected 0 of the expected 1 records.
da.ContinueUpdateOnError = trueda.Update()DataTable dtdt

さらに奇妙なのは、更新を呼び出して 20 行以下のテーブルを渡すと、更新が完全に実行され、2 行または 3 行が更新され、2 行または 3 行が挿入されることです。2 行のテーブルを渡して更新を呼び出すと、例外がスローされます。2 つの異なるテーブルの構造は同じです。

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

.net - SqlDataAdapter RowUpdating イベントが更新コマンドを変更しているように見える

チュートリアルに従って、.Net SqlDataAdapter.Update メソッドを使用してテーブル更新スクリプトを生成しました。ただし、途中で SqlCommands が構文的に不正確になるように変更されているようです。私にとってさらに奇妙なのは、この問題がどこからともなく現れたように見えることです。

出力:

したがって、正しくないスクリプトが生成されていることが問題であることがわかります。

出力では、最初の行の更新の実行が終了した、コマンドがどこかで変更されているように見えますが、2 番目の行の更新の前に、これが発生する原因はわかりません。誰かが手がかりを提供したり、私が間違っていることを見つけたりできますか? 上で示したように、これは正常に機能していましたが、理由もなく壊れたように見えました。

アップデート

StringBuilder 操作を完全に削除しました (RowUpdating イベントは、更新コマンドの出力のみで構成されていました)、それでも奇妙な動作が見られました。

ただし、コード内を少し移動することで問題を軽減できたと思います。特に、アダプターにさまざまなコマンドを設定した、RowUpdating イベントを設定しました。これが問題に影響を与えている理由はわかりませんが(したがって、これを回答として挙げていません)、少なくとも今のところは修正されているようです。

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

sql - SQL タスクを使用してテーブルを更新する方法

テーブル内の変更されたレコードを更新するために、この SQL があります。SSMS で実行されますが、これを SSIS パッケージに実装するにはどうすればよいですか? SQL タスクを使用しようとしましたが、列が認識されません。

データ フロー ole db ソース (sql コマンドには select ステートメントがあります) 内に select を配置し、インポート日付の派生列、次に ole db 宛先でレコードを更新できますが、更新する sql コマンドの構文は何ですか?

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

sql-server - SQLCommandBuilder - DataTable からの UPDATE のみがデータベース テーブルに「追加」されます

SQLCommandBuilder次のテストコードを使用して、データテーブル行を使用してデータベーステーブル行を更新しようとしています。シンプルに保つために、主キー列と 1 つのデータテーブルを持つ 1 つのテーブル。

次のコードを使用すると、dbo.Dogs2テーブルにデータテーブル行が「追加」されるため、変更された行を更新するだけでなく、行数が 2 倍になります。

table.AcceptChanges()の直前にコードを追加するDim builder As New SqlCommandBuilder(adapter)と、データベース テーブルdbo.Dogs2は変更されません。

table.AcceptChanges()の直前にコードを追加するadapter.Update(table)と、データベース テーブルdbo.Dogs2は変更されません。

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

sql - SqlCommandBuilder で TableAdapter を使用し、DataTable にエクスポートされたワークシートを使用して SQL データベース テーブルを更新する

スプレッドシート ワークシートの範囲からデータ テーブル (dtpHExportDataTable) にデータをエクスポートしています。ShowResult(dtpHExportDataTable) を呼び出すと、グリッド フォームに正しいデータ テーブル情報 (データのヘッダーと行) が表示されます。同様に、ShowResult(resultsDataTable) を呼び出すと、グリッド フォームに正しいデータ テーブル情報 (更新された行を含むデータベース テーブル行) が表示されます。

私の tableadapter Query Builder、更新コマンド テキストは「UPDATE Analytical_Sample_Log_ResultsInfo SET SampleNo = @SampleNo、Results = @Results、Complete_Date = @Complete_Date WHERE (Dex_Row_Id = @Original_Dex_Row_Id)

本質的に、データテーブルは正しく入力されます。ただし、例外がスローされなくても、tableadapter は sql データベース テーブルを更新していません。

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

c# - SQL と CommandBuilder C# を使用して行を追加できない

私はこれを正確に行っています(SqlDataAdapterを使用して行を挿入するを参照)が、.ADDメソッドを提供しません

これが私のコードです:

DataTable に ADD の参照が含まれていないというエラーが表示されます。これを別の方法で実行できれば幸いですが、特定のフィールドにデータを入力する必要があるため、table.Adapter.Insert を使用できません。


そこで、dataSet.Tables["CT_DETIMP"].Add(impRow); を変更しました。dataSet.Tables["CT_DETIMP"].Rows.Add(impRow); に そして今、この行で null エラーが発生しています: var impRow = dataSet.Tables["CT_DETIMP"].NewRow();


このコードは機能しました:

' SqlConnection myConnection = new SqlConnection(connectionString); myConnection.Open();

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

c# - コマンドビルダーとデータグリッドビューでストアドプロシージャを使用できますか?

DataGridViewストアドプロシージャを使用してデータベースに 挿入/削除/更新できるかどうかを知りたいですか?ここに画像の説明を入力