昨天碰到一个很奇怪的问题,sql语句
string NaturalSql = string.Format(@"update affairs set AFFAIRNAME='{0}',AF_ABBREVIATION='{1}',
AF_TYPE={2},AF_LEVEL={3},AF_DEPARTMENT={4},TIMELIMIT={5},TIMELIMITTYPE={6},VALID={7},RESERVED5='{8}',
IS_FILLIN={9},IS_YUYUE={10},HANDLE_TYPE={11},ISTODO={12},ISCHARGE={13},ISSAVEMAT={14}
where AFFAIRID={15}",
affairsInfo.AFFAIRNAME, affairsInfo.AF_ABBREVIATION, affairsInfo.AF_TYPE, affairsInfo.AF_LEVEL,
affairsInfo.AF_DEPARTMENT, affairsInfo.TIMELIMIT, affairsInfo.TIMELIMITTYPE, affairsInfo.VALID,
affairsInfo.RESERVED5, affairsInfo.IS_FILLIN, affairsInfo.IS_YUYUE, affairsInfo.HANDLE_TYPE,
affairsInfo.ISTODO, affairsInfo.ISCHARGE, affairsInfo.ISSAVEMAT, affairsInfo.AFFAIRID);
其中IS_FILLIN为int类型的,而这边affairsInfo.IS_FILLIN有可能为null,也可能为具体的数值,当为null的时候在数据库中就不显示内容了,效果大概为,IS_FILLIN=,IS_YUYUE=1,没有显示出null,在网上搜了很多答案,大概意思就是更新的时候直接把null写到sql语句中,就是直接写成 IS_FILLIN=NULL这样,也试过写成dbnull.value,也是不显示。
最后就是直接写成null来处理了,希望有谁能有更好的办法可以分享一下