0

私は、まったくよく知らない、強く型付けされた SQL テーブル アダプターを使用するプロジェクトに取り組んでいます。デザイナーを使用して新しい列を追加しましたが、以前の既存のクエリ (基本フェッチ) では新しい列が表示されません。いろいろと考えた後、次のようにして、クエリビルダーで新しい列を「見る」ことができました。

1) クエリを右クリックし、[構成] を選択します。

2) データベース接続文字列を選択するように求められるまで、[前へ] ボタンをクリックします。
新しい列を含む開発データベースに変更する必要がありました

3) 他の変更を行わずに、[次へ] ボタンを使用してウィザードを続行します。

デザイナーを使用して列を手動で追加していたにもかかわらず、これらの手順が必要であったことに注意してください。

これを行うと、デザイナーのテーブルに関連付けられたクエリは、新しい列を問題なく「見る」ことができました。この更新されたテーブルを FirstTable と呼びます。

ただし、 FirstTable との結合を行った別のテーブルからの既存の別のクエリに問題があります。この別のテーブルを SecondTable と呼びます。

SecondTable を右クリックして [構成] を選択し、ウィザードで [前へ] をクリックして、適切な接続文字列を選択できるようにしました。おそらく、この新しい接続文字列で SecondTable を再設計したウィザードを終了しました (このテーブルに実際の変更はありませんでした)。

ただし、SecondTable を FirstTable に結合するクエリは、FirstTable からの新しい列を認識できません。

私の最後の試みは、これら 2 つのテーブル間でマッピングされた「関係」を削除し、再作成することでした。これにより、SecondTable が FirstTable の新しい列を認識できるようになり、結合で使用できるようになると考えました。

現在、SELECT ステートメントを直接変更するかどうか、またはクエリ ビルダーを使用するかどうかに関係なく、「無効な列名」エラーが発生します (クエリ ビルダーは新しい列をまったく認識せず、追加できません)。手動)。そして、テーブル名を完全に修飾ました (例: dbo.TableName.ColumnName)

私はこれに対して数時間頭を悩ませてきました。誰にもヒントはありますか?

編集:クエリビルダーに FirstTable を再度追加して、利用可能な列データが更新されるかどうかを確認しました。運が悪い-それはまだ古い列名に固執しています。

4

1 に答える 1

1

上記の問題の原因はまだわかりませんが、回避策を見つけました。私の更新では、クエリビルダーで結合されたテーブルを削除して再度追加しても、列名は更新されなかったと述べました。ただし、まったく新しいクエリを作成し、結合されたテーブルをクエリビルダーに追加した場合は、poofとすると、新しい列が表示されます。誰かがこれを行うためのより良い方法を知っているなら、私はまだすべての耳です(これには、以前に基づいて新しいクエリを作成し、それに重複した名前を付け、古い名前を削除し、新しい名前を元の名前に戻す必要があります...なんてめちゃくちゃ)。

于 2011-01-27T09:07:48.060 に答える