1

すべての大学を表示する 1 つのページがあり、このページで都市ごとにフィルター処理されたデータを表示したいので、SQL ステートメントに次のように追加しました。

WHERE (Cit_Id = @Unv_CitId OR @Unv_CitId IS NULL)

@Unv_CitId パラメーターの DefaultValue を NULL に設定しましたが、エラーが発生しました。

この問題を解決するにはどうすればよいですか?

4

5 に答える 5

3

DBNull.Valueではなく値を割り当てる必要がありますnull

于 2012-10-23T05:11:06.050 に答える
0

はい、問題ありません。SqlDataSource の CancelSelectOnNullParameter プロパティを False に設定し、パラメータの defaultValue を削除します

于 2012-10-23T06:09:12.870 に答える
0

私はあなたの意図を100%確信しているわけではありませんが、次のようなものはどうですか:

WHERE (Cit_Id = @Unv_CitId OR Cit_Id IS NULL)

元のクエリは少し奇妙に見えます@Unv_CitId IS NULL。この句はフィールドに対してチェックしていません。渡された値に対してのみチェックしています。

于 2012-10-23T05:29:38.173 に答える
0

あなたはこれを試すことができます

where (Cit_Id = isdbnull(@Unv_CitId)?null:@unv_citId
于 2012-10-23T05:27:23.060 に答える