Visual StudioでDataSetを作って、データアダプタで、こんなSQLを作ってみたんです。
SELECT TaskId, Name
FROM Task
WHERE (TaskId = (CASE WHEN @A = '1' THEN 10 END))
@Aというパラメータを渡すパラメータクエリ。
でも、クエリビルダでは、変数の型がおかしいといわれ、アダプタ作成完了時には、@Aを宣言してください。という警告メッセージが。'1'と比較しているんだから@Aは文字列型だって認識してくれないものなのだろうか?一応以下のようなどうでもよいものを付けるとテーブルアダプタの[構成]を押してSQLを作り直してもエラーにならないけど、ダミーを入れるとわけがわからなくなる。
WITH [DUMMY] AS (SELECT 1 AS Expr1
WHERE (@A = 'AAA'))
SELECT TaskId, Name
FROM Task
WHERE (TaskId = (CASE WHEN @A = '1' THEN 10 END))
どうしたものかなぁ?
0 件のコメント:
コメントを投稿