MS Access 2003データベースに接続された強く型付けされたデータセットを実装するC#アプリケーション(VS 2010プレミアムを使用)があります。このデータセット内に、SQLスクリプトが次のテーブルアダプターを実装しています。
SELECT [ID], [Name], [Created By]
FROM [Table Group]
WHERE [Created By] = ?
AND [ID] IN (SELECT [Group ID] FROM [Table Clustering] WHERE [Cluster ID] = ?)
ORDER BY [Name]
問題は、何も返さないことですが、おそらく返されるはずです(データベースにサンプルデータがあります)。私はすでにMSAccess内に同じスクリプトを実装しようとしました(?sを実際のデータに置き換えます)、そしてそれは私が期待するデータを返します。
"WHERE [Cluster ID] = ?"
埋め込まれたSELECTステートメントを削除して実験したところ、データが返されましたが、それは私が必要としているものではありません。
また、?を置き換えて別の実験を行いました。実際の[クラスターID]を含む埋め込みSELECTステートメント内でデータが返されましたが、これも私が必要としているものではありません。
では、テーブルアダプタ内のSQLスクリプトの問題は何ですか?SELECT内にSELECTを実装することはできますか?さらに、それは実装することができますか?SELECT内のSELECTで?どうやって?
ありがとう!=)
予想通り、IDEは私が行ったテーブルアダプタのメソッド(データを取得するため)を自動的に生成します。コード内にSQLスクリプトを手動で作成する必要はありません...すべての人の情報(慣れていない場合) 、生成されたメソッドは2つのパラメーターを要求します(予想どおり)。1つは[作成者]用、もう1つは[クラスターID]用です...これからは、上記の私の問題を参照してください。:D