例如员工表:
字段名 数据类型
姓名 nvarchar
性别 int
其中“性别”是允许为空的,当新员工在注册自己信息时没有在textBox这些控件中填这项的时候,如何往数据库插入null值?
解答:(ClementDik(剑问天))
1. 我个人会更倾向于将-1 定义为“未输入”,这样在读取的时候也可以少一些麻烦。当然,这一点不在楼主的讨论范围内。
2. 如前面的人所说,如果想向DB中写如NULL值,那么用Systme.DBNull.Value。而不要用“null”或空串。
3. 建议楼主将那个函数写为如下格式:
public void RegistMember(string name , string sex)
{
// 转换输入的字符。
object objSexValue = null;
if(string.IsNullOrEmpty(sex)
{
objSexValue = DBNull.Value;
}
else
{
objSexValue = Convert.ToInt16(sex);
}
// 用于给字段赋值的代码。
}