0

以下のSQLクエリは、ロール名のスペースが%に置き換えられた場合に機能します。1行が返されます

select * from cmrdata.dbo.tblRoles where rolename like'%Super%Administrator%'

ただし、DataView.RowFilterで同じものを模倣しようとすると、行が返されません。

dv.RowFilter = "RoleName like '[%]" & Replace(roleName, " ", "[%]") & "[%]'"

また、%の周りに[]を付けずに試しました。お知らせ下さい。
よろしくお願いします。

4

2 に答える 2

0

Like演算子のエラー:文字列パターン'%super%administrator%'が無効です。

なぜスペースを%に置き換えるのですか?どのタイプの行を一致させようとしていますか?

于 2010-04-21T16:45:38.800 に答える
0

使用をお勧めします

WHERE role_name like "%SUPER%" 
  AND role_name like "%ADMINISTRATOR%"

また

WHERE role_name like "%SUPER ADMINISTRATOR%"

忘れないで; 基準が複雑になった場合、正規表現は常に存在します。

乾杯。

于 2010-04-21T16:57:49.043 に答える