c# で Web アプリケーションを開発していますが、次のように string.format 関数を使用して SQL クエリを記述したいと考えています。
string sSql = string.Format("Select * From {0}", DbReference.TABLE_NAME_SEC_ROLES);
if (roleCriteria._roleName != null && roleCriteria._isEnabled == true)
sSql += string.Format(" where {0}={1} and {2}={3} " + DbReference.ROLE_NAME_COL, roleCriteria._roleName, DbReference.IS_ENABLED_COL, roleCriteria._isEnabled);
if (roleCriteria._roleName != null)
sSql += string.Format(" where {1} = {2} " + DbReference.ROLE_NAME_COL, roleCriteria._roleName);
if (roleCriteria._isEnabled == true)
sSql += string.Format("where {0}" + DbReference.IS_ENABLED_COL + "'false'");
次のように例外が発生します。
インデックス (ゼロ ベース) は、ゼロ以上で、引数リストのサイズ未満でなければなりません。
ですから、この例外の解決策を教えてください。