問題タブ [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 に答える
1823 参照

c# - 値が渡されても、DataSet は NoNullAllowedException を発生させます。

多くのプレイヤーが接続するゲームサーバーを書いています。DBをDataSet(強い型付け)にロードします。プレイヤーがログインするたびに、TableAdapter を使用して Messages テーブルに新しい行を追加します。

NewMessagesRow() と AddMessagesRow() は VS によって自動生成されます。DataSet アイテム (.xsd ファイル) を追加し、すべての DB テーブルをそれにドラッグすることでそれを行いました。

_db は DataSet (厳密に型指定され、VS によって自動生成されます) _db.Messages は DataTable です。

テスト中に、私は得る

AddMessagesRow() は上記のコードでのみ呼び出され、削除された列には常に false を設定しますが、それでもこのメッセージが表示されます...

私は _adapterMessages を他の場所では使用しませんが、同時に使用できる他のアダプター (_adapterUsers、_adapterMatches など) があります。

毎回例外が発生するわけではありませんが、サーバーが約 1000 人の同時プレイヤーでしばらく (> 30 分など) 実行されると、例外が発生します。

どんな助けやアドバイスも大歓迎です。ありがとう :)

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

asp.net - vb.net で tableadapters を使用してテーブルの行を反復処理する

私は問題があります。tableadpater を備えたデータベースがあります。このテーブルアダプターでユーザーIDを取得したいです。

「dsGN.Message2Row が定義されていません」というエラーが表示されます

データベース内の私のテーブルの名前は「メッセージ」です。誰かが私を助けてくれることを願っています。

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

c# - LINQとtableadapterを使用しているときにデータベースからすべてのレコードを消去するにはどうすればよいですか?

フォームのExcelファイルからDataGridViewにデータを読み込もうとしています。まず、Excelシートからすべてのデータをデータセットに読み込み、次にC#LINQを使用してすべてのデータをデータベースに配置し、次にDataGridView.DataSourceをname.BindingSourceに設定します。これで完了です。DataGridViewですべてのデータを取得しますが、データを再度ロードしようとすると(プログラムを閉じて、Excelの一部のセルを変更しました)、新しいデータは前のデータに追加されますが、新しいデータのみが必要です...

だから私の質問は:データベースまたはLINQまたはTableAdapterのすべてのレコードを削除してレコードを削除する方法....:)これにイライラします。

nameDBDataset.table.Clear()を使用してデータベースデータセットをクリアしようとしていますが、何も実行していません。TableAdapterを使用して削除しようとしていますが、何も実行していません。

助けてください...

皆さん、ありがとうございました!

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

c# - C#WinForms-DataGridViewからデータベースに更新を送信する方法

CustomersテーブルとAgentsテーブルを含む.mdbファイルがあります。Agentsテーブルがまだ実行しているのは、各顧客のAgentドロップダウンに入力することだけです...

customerBindingSourceにリンクされたDataGridViewがあります。customerBindingSourceでは、DataMemberがCustomerに設定され、DataSourceがbindingSource1に設定されています。これにより、DataSourceがcustomerAppDS21に設定されます。customerAppDS21を選択し、DataSet Designerで[編集]をクリックすると、CustomerテーブルとAgentテーブルがあることがはっきりとわかります。これらは、Data.mdf>Tablesフォルダーから直接ドラッグされました。構成ウィザードを実行し、更新、挿入、および削除コマンドが正しく生成されていることを確認しました。

ユーザーが行を離れるとき、または行を追加するときに一意ID(GUID)を設定しています(両方が必要だとは思いませんが、これが問題の原因であるとは非常に疑わしいです)。ユーザーは、できるだけ多くの行を更新または追加できます。ユーザーが[保存]ボタンをクリックすると、が呼び出されますcustomerTableAdapter.Update(customerAppDS21.Customer);。すべてのイベントは間違いなく正しく配線されています。

問題は基本的に、DataSetが更新されているように見えて、データベース自体が更新されていないことです。プログラムを閉じてすぐにリロードすると、データがそこにあります。ただし、コードに変更を加えてから、プログラムを再コンパイルしてロードすると、すべてのデータが失われます。これが、DataSetが更新されているが、データベースは更新されていないことを私に思わせるものです。

誰かが問題を解決する方法を知っていますか?.acceptChanges();行の前後に行を追加しようとしました.Update(bla);が、成功しませんでした。私も電話をして、電話customerBindingSource.EndEdit();bindingSource1.EndEdit();前に行ってみました.Update(bla);

これに関する助けをいただければ幸いです。私はこの問題を2日間抱えており、どこが間違っているのかについてのヒントを得るためにチュートリアルも試しました。

よろしく、

リチャード

更新:以下のコード...

デザイナーコード(非常に長い間申し訳ありません-私は重要なものを見逃すリスクを冒したくありません):

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

.net - .NET TableAdapter クエリの Mysql LIMIT ステートメント

次のクエリを .NET データセット TableAdapter に追加しています。

select * from users ORDER BY RAND() LIMIT 0,10

しかし、LIMIT という単語がクエリの一部として認識されず、先に進むことができません。

この問題の回避策はありますか?

0 投票する
5 に答える
1911 参照

c# - c#TableAdaptersでデータベーストランザクションを使用する必要がありますか?

テーブルアダプタを使用したトランザクションに関するこのすばらしい記事を見つけました。ただし、この記事では、トランザクションが必要な理由、または望ましい理由については説明していません。

TableAdaptersと一緒にトランザクションを実装しようとする価値があるのはなぜですか?

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

visual-studio-2008 - 強く型付けされたテーブルアダプターとデータテーブルを取り除く方法

私たちの組織では、強く型付けされたテーブルアダプターとデータテーブルに大きく依存する VS 2005 Web サイトを維持しています。言うまでもなく、多くの理由から保守性の悪夢です。

  • 新しいテーブル アダプターを生成するには、MSSQL2005 以下のデータベースに接続する必要があります。データベースを MSSQL2008 にアップグレードしたため、これは本当に大変なことです。
  • 私たちは2010年の終わりにいて、このプロジェクトにVS2010を使用したいと思っていますが、アップグレードするとコンパイルに失敗します。私たちはこれを機能させるために取り組むことができると思いますが、むしろこの恐ろしい技術をまとめて取り除きたいと考えています.
  • 生成されたコードは巨大で見栄えが悪く、LSD のようなものなしでは誰も理解できないと思います。

この時点で、これらのテーブルアダプターを取り除くために最低限のことをしたいと思っています。時間がなく、「機能する」ため、管理の優先度が低いからです。したがって、nHibernate が革命であると示唆することは、おそらく実現しないでしょう。

前もって感謝します。

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

c# - c# (3.5) TableAdapters を使用して null の DateTime 値をデータベースに読み書きする

VS2008 DataSet を使用してデータベースに接続しています。データベース内のテーブルの 1 つに、NULL を許可する DateTime 列が含まれています (つまり、タイプ: DateTime?)

MSDNデータセットは、次のように明確に述べています。

Nullable または Nullable 構造は、DataSet では現在サポートされていません。

ただし、 TableAdaptersの MSDN サイトでは、TableAdaters が Nullable 型をサポートできると述べています。

TableAdapters は、null 許容型の Nullable(Of T) および T? をサポートしています。null 許容型の詳細については ... C# での null 許容型の詳細については、「 Null 許容型の使用 (C# プログラミング ガイド)」を参照してください。

よくわかりません!

DataSet デザイナで、問題のある列のプロパティを「AllowDBNull=True」に設定しましたが、null の DateTime (SELECT * FROM UDF) を返す TableAdapter クエリを実行するたびに、次の例外が発生します: "ArguementOutOfRangeException: Year, Month, and Dayパラメータは、表現できない DateTime を記述しています。」

私が持っていた 1 つのアイデアは、列の型を System.Object に変更して null 値を正しく処理し、自分のコードで変換を行うことでしたが、それでも同じ例外が発生します。

この質問は、クエリが返された後にヌルを処理する方法を示唆していますが、クエリを返すことはできません。

データベース内の null を処理できるテーブルでクエリを実行できるように、TableAdapter や Dataset を変更するにはどうすればよいですか?

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

c# - TableAdapterで生成されたInsertメソッドでパラメーター名が失われました

次のようなクエリを使用して、TableAdapterにInsertメソッドを生成しようとしています。

ここで、Nameは文字列で、他は整数です。ただし、生成された署名は次のようになります。

名前またはパラメータタイプの順序のいずれかで、クエリと一致しません。

これはどのように起こりますか?手動で変更することにした場合、Parameter2がStatusIDであることをどのように確認できますか?

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

c# - TableAdapter ウィザードの選択リストに設定からの接続文字列がありません

C# VS 2010 .net v4.0

プロジェクト (クラス ライブラリ) に DataSet を追加し、TableAdapter を追加しようとすると、[設定] に追加した接続文字列を選択できません。他のデータソース (サーバー エクスプローラーから) の接続文字列が利用可能です。回避策を使用できません。設定から接続文字列をプルする必要があります。私は他の多くのプロジェクトでこれと同じことを行っていますが、通常はうまくいきますが、接続文字列が最終的に表示されるまでランダムなことをすることがあります。vs2010 へのアップグレードでこれが修正されることを期待していました。誰かがこれを見て、助けてくれることを願っています、ありがとう。