- PR -

開発途中におけるテーブルへの新規列追加方法について

投稿者投稿内容
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-04-04 17:43
テッテさん、ありがとうございます。取り急ぎご質問にお答えいたします。

引用:

DataGridView の列の編集画面を開いて追加を押したときに開く「列の追加」画面で、
DataSource の列に何も表示されないでしょうか?


この件につきまして<投稿日時: 2008-04-04 16:00>のも帰しましたとおり、「データバインド列」
には「生産地」列は表示されていません。(その他は正常に表示されています)


テッテさん、大変お手数をおかけして申し訳ありません。

_________________
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-04-05 15:02
スレッドを立てたOne.netです。テッテさんからヒントをいただいて、その後も修復に努力しておりましたが、
やっと自己解決することが出来ましたのでその内容を報告しておきます。修復のきっかけは以下の通り現行
プロジェクトと同じ構成のダミープロジェクトを作成し、正常に動作することを確認してから、
現行プロジェクトとダミープロジェクトの相違点を探しました。

■ダミープロジェクト作成
1.データベース(サーバー)エクスプローラで[データ接続]→[接続の追加]→「接続の追加」ダイアログ
2.データソースウインドウで「新しいデータソースの追加」→「データソース構成ウイザード」
3.データセットデザインでデータベースエクスプローラから商品テーブルや他必要なテーブルをドラック&ドロップし、
データセットを作成
4.Form1.vbにデータソースウインドウから商品Tableをドラック&ドロップして商品DataGridViewを作成。
商品DataGridViewには生産地列を含めて正常に作成されデバックでも正常に動作しました。

■テーブルに新規フィールド(列)追加のテスト
Accessを立上げ、商品TableにKeyWord列(10文字列)を追加してから再度IDEから次のことを調べました。
1.データベースエクスプローラ商品TableにはKeyWord列存在している。
2.データソースウインドウの商品TableにはKeyWord列存在していない。
3.データセットデザインで商品TableAdapterウイザードでクエリビルダを見るKeyWord列が表示されているが
クリックされていなく未使用状態であったのでクリックを入れ、ダイアグラムペインにKeyWord列の表示を確認
してから[クエリの実行]をした。結果は正常に表示された。
4.再度データソースの商品TableにKeyWord列が存在することを確認した。
5.Form1.vbのデザインで商品DataGridViewを表示させたが、当然KeyWord列は存在していない。続けて
商品DataGridViewの「列の編集」から[追加]ボタンでKeyWord列を追加し、デバックで正常に表示することを確認した。

■現行プロジェクトとの相違点を検証
△.VB2005IDEは正常に動作しているが、現行プロジェクトに何かの異常が発生していること
△.現行プロジェクトとダミープロジェクトに次のような違いがあることを確認した
1.商品DataGridViewの[追加]ボタンで表示されるデータバインド列にダミープロジェクトのほうは新規追加したKeyWord列が表示される。
2.データソースウインドウ上部にあります[ウイザードでDataSetを構成]ボタンで表示される「データソース
構成ウイザード」の最初のページ(データベースオブジェクトの選択ページ)がダミープロジェクトの方は
正常に表示されるのに現行プロジェクトの方は最初のページに「データベースの情報を取得しています」
と表示されたままで、その上に「DataSetエディタの選択」画面が次のように記述されて表示されています。

「選択されたデータセットには、データセットデザインでのみ表示できるオブジェクトが含まれています。
ウイザードで続行しますか、それともデータセットデザイナーで編集しますか?」
◎データセットデザイナーで編集する(E)・・→ 「データセットデザイナー」画面へ
○ウイザードで続行する(C)・・・・・・・・→「データベースオブジェクトの選択」場面へ

3.現行プロジェクトの方のソリューションエクスプローラーにnbai_TemporaryKey.pfxが作成されている

■自己解決
以上のことから現行プロジェクトの方の「データソース構成ウイザード」で設定される何かに問題が発生していることが予想されますので、一旦データセット(DataSet.xsd)を削除して、改めて 「新しいデータソースの追加」→「データソース構成ウイザード」でデータベースを設定し、データベースエクスプローラから全てのテーブルをデータセットデザインにドラック&ドロップして、さらに元の状態と同様に全てのクエリーを設定しました。
以上の復旧作業で正常に動作しました。原因がいまだにつかめませんが、おかげさまで
プロジェクトを正常に修復することが出来ました。


修正:_本体プロジェクト→_現行プロジェクト______________


[ メッセージ編集済み 編集者: One.net 編集日時 2008-04-05 15:55 ]

[ メッセージ編集済み 編集者: One.net 編集日時 2008-04-05 16:15 ]
テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2008-04-05 16:19
結局お力になれなかったようですみません。
検証と結果報告ありがとうございます。

結論として、ダミープロジェクトでは、後からの列の追加はできたということですね。
現行開発プロジェクトの xsd ファイルに原因があったということでしょうか。
実は私の方は Access を使っておらず、SQL Server 2005 での検証だったので、
Access 固有の問題もあるのかも知れませんね。

スキルアップ/キャリアアップ(JOB@IT)