none
DATASETについて RRS feed

  • 質問

  • SQLのテ-ブルを変更する必要がある場合、デ―タビュ―の代わりにDATASETを使用している関係上それに伴ってDATASETの再構築を

    行う必要があると思うのですが、デ-タベース内の全てのテ-ブルが自動的にデ-タ接続されます。

    デ-タソ-ス デザイナ-「DATASETの編集」で不必要なものは削除し、それと同時に「フオ-ムデザイナ-」から不必要なTextを

    削除しています。

    こんな方法で良いのでしょうか?

    この方法で問題無いのなら、もっとスマ-トな方法をお教えいただけたらと思いっております。

    2018年4月23日 1:49

回答

  • SQLのテ-ブルを変更する必要がある場合、デ―タビュ―の代わりにDATASETを使用している関係上それに伴ってDATASETの再構築を

    行う必要があると思うのですが、デ-タベース内の全てのテ-ブルが自動的にデ-タ接続されます。

    こうやってしまう人をたまに見かけます。この方法だとテーブル数が多くなるとその数だけTableAdapterが自動的に作成され、ぐちゃぐちゃで混沌としてしまいます。ですので、お勧めしません。
    そうではなく、基本的な考え方としては、空のデータセットを作成し、そこに必要なTableAdapterのみを作成します。アプリケーションで使用しないTableAdapterは存在していても無駄にしかならないことに注意して下さい。

    新たにTableAdapterを作成するには、データセットで右クリックし、「追加」を選びます。SurferOnWwwさんが既に書かれているように、ツールボックスからドラッグ&ドロップでも良いです。
    このようにTableAdapterを作成する際に、テーブルの必要な列のみを追加します。ウィザードに従えばできると思います。

    フォームデザイナーで不必要な列を削っているのは、おそらく、テーブルから自動的にDataGridViewなどを配置されているからだと思います。TabaleAdapterの列と表示したいDataGridViewの列が完全に合っていればこれで問題ありませんが、人間が見る必要のない列等が含まれていることがありますので、どうしてもそこで削除という作業は発生します。


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク tall-old boy 2018年4月23日 3:30
    2018年4月23日 3:12
    モデレータ

すべての返信

  • > SQLのテ-ブルを変更する必要がある場合、デ―タビュ―の代わりにDATASETを使用している関係上それに伴ってDATASETの再構築を行う必要があると思うのですが、デ-タベース内の全てのテ-ブルが自動的にデ-タ接続されます。

    Visual Studio のデーターソース構成ウィザードを使って作る型付 DataSet + TableAdapter のことを言っていますか?

    > デ-タソ-ス デザイナ-「DATASETの編集」で不必要なものは削除し、それと同時に「フオ-ムデザイナ-」から不必要なTextを削除しています。

    Text とは何ですか? テーブルのこと?

    データーソース構成ウィザードの話で、型付 DataSet + TableAdapter に不要なテーブルを含めたくないという話であれば、問題なく可能ですけど?

    2018年4月23日 2:22
  • [TEXT]とは、自動に生成された、プロパティの記載です。
    2018年4月23日 2:28
  • この方法でも「FORM DESIGNER」のTEXTの編集は必要となると思うのですが、、、?

    2018年4月23日 2:32
  • 私の質問、「Visual Studio のデーターソース構成ウィザードを使って作る型付 DataSet + TableAdapter のことを言っていますか?」に答えてもらってないですが、答えは Yes でいいのですか?

    > [TEXT]とは、自動に生成された、プロパティの記載です。

    答が Yes だとすると「プロパティ」というものは出てこないはずなのですが、何のことを言ってますか?

    2018年4月23日 2:46
  • 良く理解していない者(私)とのやり取りでご迷惑をお掛けします。

    一度、登録された「DATASET」等は、FORMDESIGNERに書き込まれていて、同じテーブル名を使用したとしても、DATABASE エラ-を起こすことが

    多く、私は、一度その関係の記述を削除してから、再設定すること多いです。テーブルの変更度合いに寄るところがあると思います。

    上記の事柄は、今回の質問内容とは異なっていますが、、、。

    質問内容に戻ります。

    まず、データソ-ス構成ウイザ-ドで認識したDATASET TABLE等を 「DATASET デザイナ-」で削除して良いか。

    から教えてください。

    2018年4月23日 3:09
  • SQLのテ-ブルを変更する必要がある場合、デ―タビュ―の代わりにDATASETを使用している関係上それに伴ってDATASETの再構築を

    行う必要があると思うのですが、デ-タベース内の全てのテ-ブルが自動的にデ-タ接続されます。

    こうやってしまう人をたまに見かけます。この方法だとテーブル数が多くなるとその数だけTableAdapterが自動的に作成され、ぐちゃぐちゃで混沌としてしまいます。ですので、お勧めしません。
    そうではなく、基本的な考え方としては、空のデータセットを作成し、そこに必要なTableAdapterのみを作成します。アプリケーションで使用しないTableAdapterは存在していても無駄にしかならないことに注意して下さい。

    新たにTableAdapterを作成するには、データセットで右クリックし、「追加」を選びます。SurferOnWwwさんが既に書かれているように、ツールボックスからドラッグ&ドロップでも良いです。
    このようにTableAdapterを作成する際に、テーブルの必要な列のみを追加します。ウィザードに従えばできると思います。

    フォームデザイナーで不必要な列を削っているのは、おそらく、テーブルから自動的にDataGridViewなどを配置されているからだと思います。TabaleAdapterの列と表示したいDataGridViewの列が完全に合っていればこれで問題ありませんが、人間が見る必要のない列等が含まれていることがありますので、どうしてもそこで削除という作業は発生します。


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク tall-old boy 2018年4月23日 3:30
    2018年4月23日 3:12
    モデレータ
  • > まず、データソ-ス構成ウイザ-ドで認識したDATASET TABLE等を 「DATASET デザイナ-」で削除して良いか。

    データベースの中のテーブル全ての型付 DataSet + TableAdapter を作った後、使わないものを削除してよいかという質問ですか?

    であれば、そんなことをするより、最初から使うテーブルのみ選んで作れば済むはずですが・・・

    こういうやり方ではなく(これでは全部のテーブルから型付 DataSet が作られてしまう)、

    こうすればいいです。(この例では Customers と Orders テーブルのみから型付 DataSet が作られる)

    2018年4月23日 3:56
  • 上の私のレスで書いた「最初から使うテーブルのみ選んで作れば済む」という話はとりあえず置いといて、全部のテーブルで作ってしまったが質問者さんが不要と思うものは削除してよいかという話であれば、質問者さんの使い方を知る由もない第三者には答えられない話だと思います。

    ・・・が、外部キー制約とかが一切ない単独で成り立つテーブルであれば、多分大丈夫ではないかとは思います。

    でも、外部キー制約とかがあって、例えば、以下のチュートリアルのようにリレーションを利用して階層更新をかけるような場合は、使わない方は削除してよいという単純な話にはならないかもしれません。

    10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
    https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

    2018年4月23日 4:08
  • すでに「回答としてマーク」がついていて質問者さんとしては終わった話かもしれませんが・・・

    > [TEXT]とは、自動に生成された、プロパティの記載です。

    ひょっとして、それはテーブルの列のことを言ってますか? であれば、それも自由に必要な列だけ選べます。全てはやり方次第で解決できる問題かと思われます。

    2018年4月23日 8:21