我有一种情况,我的 sql 查询的参数是动态的。如果参数为空,我不想将它添加到查询中,我已经尝试了一些事情(从未工作过)..现在对我来说看起来很愚蠢
ds = SqlHelper.ExecuteDataset(GlobalSettings.DbDSN, CommandType.Text, "SELECT TOP 1000 [ID],[Project],[Owner],[Consultant],[Contractor],[Value],[Level1],[Level2] ,[Status] ,[Category] ,[Country],[CreatedDate],[CreatedByID],[CreatedByName] FROM [tbl_Projects] where"+if(!string.IsNullOrEmpty(paraCategory)){ "[Category] = @Category and"}+"+ Country =@country and "+if(!string.IsNullOrEmpty(paraCategory)){ " value between @val1 and @val2"}+" order by CreatedDate asc",
new SqlParameter("@Category", paraCategory),
new SqlParameter("@Country", paraCountry),
new SqlParameter("@val1", paraValue1),
new SqlParameter("@val2", paraValue2));
我也在 这里检查了 Building dynamic sql 但是在我需要在关键词之间放置like 和之间没有用..有人可以帮我解决这个问题吗?