問題タブ [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.
c# - SQLDataadapterがGOで機能しない
SQLDataAdapterを使用してスクリプトを実行しています。スクリプトは以下の通りです、
GOの近くの構文が正しくないため、エラーが発生します。クエリテキストからGOを削除すると、正常に機能します。ただし、このスクリプトのみを実行する必要があります。
これがac#コードです。QueryTextは、SETおよびGOとともにクエリ全体を含む文字列です。
誰かがそれと一緒に行く方法を知っていますか?
よろしくお願いします、
Vijay
c# - DataColumn の基になるデータ型が xml であることを検出する方法
xml 列を持つ SQL Server データ テーブルがあります。DataTable
(クラスFill
のメソッド)を使用して選択クエリを実行します。SqlDataAdapter
実行後、列の型は ですstring
。
メソッドによって実体化されたものxml
から実際の SQL Server データ型 (この場合は ) をどのように判断できるのか疑問に思っています。DataTable
Fill
使用できませんSqlDataReader
( GetSchemaTable
SQL Server データ型情報を返すメソッドがあります) - 使用する必要がありますSqlDataAdapter/DataTable
。次のようなことをします:
SQL Server のデータ型情報も含まれていないように見えるため、これも役に立ちません。
asp.net - SQLデータアダプタクラスを介して列の値を個別に取得する方法は?
私はSQLデータアダプタの使用方法を学ぼうとしています...どのように動作するかを確認するために以下をコーディングしました...
問題は、データベース テーブル "Sana" の 3 つの列 (DeptNo、DeptId、DeptName) の値を個別に取得し、それらを 3 つの個別のテキスト ボックスに表示したいことです ...
以下のコードを使用して、データベース テーブルのタプル全体の値をまとめて取得できます。
上記の結果に到達するにはどうすればよいですか???
}
c# - 挿入が成功したときにSqlDataAdapterがRowUpdatedまたはRowUpdatingを起動しない
私は次のコードを持っています:
このコードは、私のSqlCommandオブジェクトを取得し、それをSqlDataAdapterのupdateメソッドに送信することを想定しています。SqlCommandは、adapter.Update()メソッドを使用して実行されるINSERT、UPDATE、またはDELETEである可能性があります。
コマンドは正常に実行されますが、adapter.Update()メソッドは0行を返します。データベースを確認しましたが、成功したことがわかります。RowUpdatedイベントとRowsUpdatingイベントも発生していません。何が起こっているのかわかりません。助けてください。
前もって感謝します。
編集:
編集: 挿入するために次のクエリを使用しています:
sql-server - 空のデータベース テーブルを読み込む
SQL Server Express と VS2008 を使用しています。
A
の列を持つID
テーブルを持つデータベースがありますIDENTITY
。ID は自動インクリメントされます。行が削除されても、ID
まだ増加します。
いくつかのデータ操作の後ID
、たとえば現在の値は 15 に達しました。
アプリケーションを実行すると
- 少なくとも 1 行ある場合: 新しい行を追加すると、新しい ID は 16 になります。すべて問題ありません。
- テーブルが空 (行なし) の場合: 新しい行を追加すると、新しい ID は 0 になり、エラーになります (と思います)。
さらにデータ操作 (削除や更新など) を行うと、未処理の例外が発生します。
誰かがこれに遭遇しましたか?
PS。私のテーブル定義では、ID は次のように選択されています。
DB ロード コードは次のとおりです。
更新ボタンの方法
更新を押すと:
少なくとも行がある場合: データグリッド ビューが更新され、テーブルが正しく表示されます。
テーブルに何もない (データ行がない) 場合、Add メソッドは新しい行を追加しますが、ID 0 から追加します。プログラムを閉じてもう一度再起動すると、ID は 16 になります。これは正しいです。
これが追加方法です
c# - C#sqldataadapter datatablemapping
クエリがあります-" SELECT PK1 FROM users
";
また、myTable
int型の3つのフィールドで名前が付けられたデータテーブルがあります。
myTable
クエリから返された各行について、フィールド1とフィールド3をnullのままにして、PK1値をフィールド2に入れたいと思います。
これまでに試したサンプルコードをいくつか示しますが、機能していないようです。myTable
代わりに、フィールドPK1が新しいフィールドとして末尾に追加されます。
コードに問題がありますか、それともフィールドをマッピングする別の方法がありますか?
これは、この質問の目的のための簡略化された例です。このようなフィールド名のマッピングは、特定の位置に値を挿入するよりも理想的です。
c# - データグリッドにデータセットを入力できません - 入力文字列が正しい形式ではありません
このような値を設定するデータグリッドビューがあります
しかし、この行の後にこのエラーが表示されます
データソースを設定するとき。これを修正するのを手伝ってください。
c# - SqlCommandBuilder はどのように機能し、ReSharper の提案を削除するにはどうすればよいですか?
その仕組みがわかりませんSqlCommandBuilder
。次のコードがあります。
変数builder
はどこでも使用されておらず、 MSDNGetUpdateCommand()
のようにメソッドを呼び出していません。を作成し、 を渡すだけです。しかし、コードは正常に機能します。SqlCommandBuilder
SqlDataAdapter
コードを見ると、次の行のようです
安全に削除できます。実際、ReSharper はそれを削除することを提案しています。SqlDataAdapter
しかし、そうすると、更新の実行方法がわからないため、コードは実行されなくなります。
SqlDataAdapter
デバッグ モードで、その行を実行した後、のUpdateCommand
プロパティが のままであることに気付きましたnull
。MSDN -docsから、が のイベントにSqlCommandBuilder
登録されていることがわかります。RowUpdated
SqlDataAdapter
しかし、そのイベントがトリガーされたとき、それは何をしますか? はSqlDataBuilder
実際にアップデート自体を実行していますか?
他に気付いたことは、を削除すると、ステートメントで InvalidOperationException が発生する直前にSqlCommandBuilder
、メソッドが 1 回トリガーされることです。それを予想しなかった。イベントは、行が実際に更新されたときにのみ発生すると思います。DaRowUpdated
da.Update
RowUpdated
つまり... 3 つの具体的な質問:
- ReSharper がこの行の削除を提案しないようにするにはどうすればよいですか?
- インスタンスの作成が渡された
SqlCommandBuilder
もので何かをしていることをコードがまったく示していない のようなクラスをプログラムするのは悪い習慣ですか?SqlDataAdapter
- これはデザインパターンですか?
c# - SqlConnection、SqlDataAdapter、および SqlCommand オブジェクトを再利用する必要がありますか?
次のコードのようなレイアウトで記述された DAL オブジェクトを使用しています。セットアップを示すためだけに、多くのコード コードを単純化しました。
Connection オブジェクト、SqlCommands、および SqlDataAdapter を再利用して同じ方法で記述された Fill タイプの関数が他にも複数あります。SqlDataAdapter は、SqlConnection の開閉を内部的に管理します。
だから私の質問はマルチパートです。このデザインはダメですか?もしそうなら、なぜですか?
それが悪い場合は、次のように、よりローカルなスコープで物事を維持するように変更する必要があります。
これは、作成、破棄、および再作成のように見えるすべての機能に対して実行する必要があり、アイテムを保持するよりも悪いでしょう。ただし、これはオンラインのどこでも見られる設定のようです。