問題タブ [tableadapter]

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

sql-server - Sql Server 2005 でのトリガーの変更

SQL Server 2005 でトリガーを変更する必要があり、ストアド プロシージャではなく、テーブル アダプターと SQL ステートメントを使用して変更したいと考えています。これをクエリ ブラウザーで実行して実行できることはわかっていますが、複数のデータベースに展開し、更新でテーブル アダプターを使用する必要があります。これは可能ですか?

クエリの追加 -> 更新 -> 以下のコードの貼り付け -> クエリ ビルダーを実行して、解析されるかどうかを確認します。

エラー... USE [DataBaseName] SQL コンストラクトまたはステートメントはサポートされていません。

そして、上部を取り外して ALTER TRIGGER から始めると

ALTER TRIGGER SQL 構文またはステートメントはサポートされていません。

私はまだこれにかなり慣れていないので、これを間違った方法で行っているか、ストアド プロシージャなしでは実行できないことに驚かないでしょう。

編集:ええ、私はC#でこれをやっています。

ありがとう。ALTER TRIGGER から始めて、そのようにすることができます。これで作業が完了します。

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

c# - C# で DataRow からバイト配列を読み取るにはどうすればよいですか?

を介してシングルを正しく埋めるDataSetwith があります。DataTableDataRowTableAdapter

次のようなコードを使用して、DataRow からデータを取得できます。

type の DataFile という別の列がありますvarbinary(max)

上記と同じ列のデータを取得しようとすると、DataRow何も得られません。

この場所にブレーク ポイントを配置すると、dataFileDataRow を調べ、ItemArray プロパティを調べると、バイナリ データが ItemArray の 5 番目の位置にあることがわかります。

インデックスを使用して ItemArray に直接アクセスしようとしましたが、バイト配列が fileFromDatabase 変数にコピーされていません。

fileFromDatabase をウォッチに追加すると、次のエラーが発生することにも気付きました。

「名前 'fileFromDatabase' は現在のコンテキストに存在しません」

実行はまだ fileFromDatabase の定義と同じブロック内にあるため、それがどのように文脈から外れているのかわかりません。

Visual Studio の構成を Debug ではなく Release に設定しました。これにより、fileFromDatabase を調べようとしたときに探していたリアルタイムのデバッグ情報が表示されませんでした。リリースからデバッグに切り替えた後、ウォッチで変数を確認できるようになり、上記のコードが正しく機能していることを確認できます。

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

c# - C#テーブルアダプターの更新が機能しない

オブジェクトをSQLCompactデータベースにシリアル化しようとしています。私はVCSExpress2008を使用しています。データがデータベースに送信されるかどうかを確認するためにテストを実行するたびに、データベースには何もありません。私のコード:

正常にコンパイルされますが、何らかの理由で機能しません。

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

c# - Visual Studioのテーブルアダプタークエリが、それが表すストアドプロシージャと同じデータを返さないのはなぜですか?

Visual Studioのテーブルアダプターを使用して、SQLServer2005データベースのストアドプロシージャにクエリを実行しています。Webサイトアプリケーションを介して電話をかけると、何も返されません。SQL Server Managerを介して同じ呼び出しを行うと、期待されるデータが返されます。

アダプターのgetDataメソッドの呼び出しにブレークポイントを設定し、すべてのパラメーターとその値を調べて、サーバー管理からのクエリでそれらを照合して確認しました。次のクエリを送信しています。

さらに遠く

nullVisual StudioがSQLサーバーにクエリを送信しようとする前に、'sを使用して何かを実行するかどうか疑問に思っていると思います。そうでない場合、どうすればこの問題を修正できますか?

編集:これらの値はすべて変数によって渡されます。私はそのブレークポイントでそれらの変数にあったものを入力しただけです。

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

.net - TableAdapter を使用した Oracle SP の呼び出しが非常に遅い

SQLエディター(oracle)で実行すると超高速で実行されるクエリがあります:1ミリ秒。

同じクエリ (ストアド プロシージャとして) を DataSet-TableAdapter で実行すると、2 秒かかります。私はちょうど20行を取得しています。

TableAdapter を使用しているため、戻り値は ref カーソルに格納されます。

2'000 行をフェッチしていた場合、DataSet を構築するのに時間がかかることは理解できましたが、20 行だけで 2 秒は私には長すぎるように思えます。

OracleでSPを実行するより良い方法がありますか、それともこれが唯一の方法ですか? パフォーマンスを改善するにはどうすればよいでしょうか?

ご協力いただきありがとうございます!


Googleで検索すると、refcursorに問題があるようです。他の人も同じパフォーマンスの問題に直面しましたが、解決策は提供されていません。

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

.net - 列固有ではないパラメーターを C# テーブル アダプターに追加するにはどうすればよいですか?

初めて TableAdapter を使用してカスタム クエリを追加しましたが、いくつかの検索パラメーターをクエリに追加することに行き詰まっています。これが私が得たものです。

クエリをテスト実行すると、id_order の入力を求められますが、word1 や word2 の入力は求められません。また、これらをパラメーターとしてアダプターに直接追加して渡してみましたが、機能しません。奇妙なことに、id_order は引き続き機能しますが、他の値は一致しません。

私の目標は、ユーザーが姓名またはその両方を入力できるようにし、その名字および/または姓を持つ注文と一致させることです。

私が間違っていることについてのアイデアはありますか?

0 投票する
6 に答える
6707 参照

sql-server-ce - 型付き DataSet および DataGridView を使用した、最後に挿入されたレコード ID の問題

私は単純なデータベースアプリケーションに以下を使用しています:

  • SQL Server Compact Edition .sdf ファイルをデータベースとして、int の主キー ID を使用。
  • データ アクセス レイヤーとして型指定された DataSet および BindingSource
  • データを表示するための DataGridView。

私の問題は、最後に挿入されたレコード/行 ID に問題があることです。ナビゲーター コンポーネントの追加ボタンを使用して datagridview に行を追加すると、新しいレコード/行の ID は -1 になります。TableAdapter.Update() を使用してデータをデータベースに保存した後でも -1 のままです。@@identity または scope_identity() を使用して別のクエリを使用して最後の ID を取得できることはわかっていますが、別のクエリを使用して手動でデータを更新する必要があるとは思えません。ここで何か不足していますか?データベースに保存し、挿入したレコードの ID を取得した後にデータを自動的に更新する方法はありますか?

また、データセット デザイナー -> テーブル アダプター構成 -> 詳細ウィンドウで "データテーブルを更新する" オプションを見ましたが、何らかの理由で無効になっています。でも関係あるのか分からない..

これについて何か助けていただければ幸いです..

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

c# - 2つのテーブルに基づいてTableAdapterのFillByをどのようにフィルタリングしますか?

WindowsフォームアプリケーションでVS2008C#ExpressとNorthwindデータベースを使用しています。

ドラッグアンドドロップを使用して、2つのデータグリッドビューのマスター詳細バインディング(注文と注文詳細を使用)を設定しました。この時点で、すべてが期待どおりに機能します。テーブルのすべての行を返さないように、OrdersテーブルのフィルターとOrdersDetailsテーブルのフィールドに基づいてOrdersテーブルをフィルター処理したいと思います。TableAdapter構成ウィザードで、クエリビルダーを使用して、次のクエリを作成する新しいFillByMyFilterを追加しました。

SELECT Orders。[OrderID]、Orders。[Customer ID]、Orders。[Employee ID]、Orders。[Ship Name]、Orders。[Ship Address]、Orders。[Ship City]、Orders。[Ship Region]、 Orders。[ShipPostalCode]、Orders。[Ship Country]、Orders。[Ship Via]、Orders。[Order Date]、Orders。[Required Date]、Orders。[Shipped Date]、Orders.Freight FROM Orders INNER JOIN [注文の詳細]ON注文。[注文ID]=[注文の詳細]。[注文ID]WHERE(注文。[船名] LIKE N'A%')AND([注文の詳細] .Quantity <20)

両方のテーブルを追加することでこれを取得しましたが、元の塗りつぶしクエリで使用された列のみが返されるように、[注文の詳細]テーブルのフィールドボックスをチェックしませんでした。この時点では、マスターテーブルのDataSetをフィルタリングするだけで、異なる数の列を返すことはありません。Order Detailsの子行は、デフォルトのフィルタリングされていない結果セットのように機能するはずです。

ここで問題が発生します。[クエリの実行]ボタンをクリックすると、正常に機能します。デザイナーが作成したデフォルトの塗りつぶしを使用して、1078ではなく上記のクエリから53行を取得します。元の塗りつぶしクエリと同じ列を返します。ただし、アプリケーションを実行しようとすると、次の制約エラーが発生します。

「制約を有効にできませんでした。1つ以上の行に、null以外、一意、または外部キーの制約に違反する値が含まれています。」

私は何が間違っているのですか?

更新:ウィザードによって作成された内部結合が原因で、制約エラーが発生していると思います。LEFT JOINを使用するようにクエリを編集すると、ウィザードはそれをINNERJOINに戻します。

私の質問は、親テーブルと子テーブルの両方の基準に基づいて、親テーブル(Orders)のレコードをフィルタリングする方法としてまだ立っています。次のテストは、ストアドプロシージャを試して使用することですが、TableAdapterのカスタムFillByメソッドのみを使用する方法を知りたいと思います。

よろしく、

デバッグ

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

c# - tableAdapter の Fill() メソッドを呼び出すときに selectedValue が変更されないようにするにはどうすればよいですか?

ListBox をいくつかのデータにバインドしました。

問題は、myTableAdapter.Fill(..) メソッドを呼び出すと、SelectedValue がリストの最初の項目 ID に変更されることです。VS の「選択された値」はどこにもバインドされていませんが (画像を参照)。 代替テキスト http://img370.imageshack.us/img370/2548/ss20090108212745qz2.png

この動作を防ぐにはどうすればよいですか?

助けてくれてありがとう。

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

.net - Managment Studio と TableAdapter のストアド プロシージャの実行時間の大きな違い

ストアド プロシージャは、Management Studio では 10 秒で実行できますが、TableAdapter では同じ入力に対して 15 分かかりますか? つまり、各環境で少なくとも 3 回実行しましたが、Management Studio は一貫して約 100 倍高速です。

.net 2.0 と SQL Server 2000 を使用しています

SQL Server Management では、次のように実行しています。

TableAdapter では、 にStoredProcedure CommandTypeanddbo.uspMovesReportByRouteStepを使用していCommandTextます。ASP.NET ページからテーブル アダプターを呼び出していますが、ローカルでも "データをプレビュー" しようとすると 30 秒でタイムアウトします。

ストアド プロシージャを提供するのは現実的ではありません。これは、100 行を超える長さであり、同じデータベースや他のデータベース上の多数の他の UDF やビューに依存しているからです。

他のすべてのストアド プロシージャは、どちらの方法を使用してもほぼ同時に実行されるように見えます。これはどのように可能ですか?