【发布时间】:2017-06-01 02:37:11
【问题描述】:
我有这个:
int id = 10;
long partnerId = 20;
long? groupId = null;
DateTime startDate = Datetime.Now.AddDays(-5);
DateTime endDate = Datetime.Now;
bool isTesting = true;
bool isActive = false;
query = @"SELECT Vita as VitalLevel,count(distinct ccrid) as Answers, Vitald as VitalType
FROM CORE.vRecipientsc rd
INNER JOIN Recipiendy rs ON rs.CRRID = rd.RID
INNER JOIN RecipientStungs rsvr ON rsvr.StudyId = rs.Id
WHERE SBURID = {0}
AND ({5} IS null OR {5}=SbuGroupRID)
AND rs.DTUTC_Created >= '{1}'
AND rs.DTUTC_Created <= '{2}'
AND rsvr.VitalTypeId = 8
AND rsvr.VitalValue <> ''
AND (rd.isTesting = {3} or rd.isTesting = 0)
AND rd.IsActive= {4}
GROUP BY rsvr.VitalValue, rsvr.VitalLevel, rsvr.VitalTypeId";
String.Format(query, new object[] {
partnerId, startDate, endDate, Convert.ToInt32(isTesting), Convert.ToInt32(isActive), groupId
});
然后我与数据库建立了连接并执行了多个查询,但是当我执行查询时,string.format 中的 null 值被替换为空格,我希望为 groupId 变量替换的行直接设置为 null。我可以用 C# 来完成这项工作吗?
【问题讨论】:
-
以及更好的使用参数设置null
标签: c# string null string.format