怎样才使空数据保存到sql server数据库中的默认值不为1900-1-1(datetime)

解决方案 »

  1.   

    数据库设置该字段默认值为getdate()
      

  2.   

    不行,我已经都让其可以为空了。
    我想这样,如果这个字段不为空就保存,否则就保存null
      

  3.   

    SqlNull.Value
    还是DBNull.Value?
    反正后者不行的
      

  4.   

    保存的时候无法将null付给一个变量阿
    我的意思是这样的
    update table set id=var
    而var=null
      

  5.   

    设置字段允许空
    if(TextBox1.Text.Trim().Length == 0)
    {
    //   日期为空了
    传递一个 DbNull.Value 给参数就可将NULL插入到数据库里了
    }或者如果为空 就不写这个字段的插入语句 sql中 只插其他的
      

  6.   

    关键我现在是这样的情况:
    已经定义了一个object[] strValue 数组,更新和插入时候都是用数组变量进行的。不得话我可以这样实现 update tables (id,mydt)values(1,null);关键是当
    datetime字段为空或者null 时候,怎么将null 通过strValue对象传递过来
    就像这样update tables (id,mydt)values(1,strValue);大家知道怎么传递吗,如果传递不过来肯定就没法实现。因为判断 为空或者null事后
    让strValue=null或者 strValue= DbNull.Value ,我取到的strValue='';所以保存还是1900-1-1
      

  7.   

    也有方法可以实现,只是觉得有点麻烦。再说我主要是想知道有没有对象能取到null的
    就是将对象放到  values(,,,对象)
    那么‘对象’正好是null 不知道是否有此方法
      

  8.   

    sql语句中写参数给参数赋值 DbNull.Value
      

  9.   

    我就是这样,但是根本取不到值:table=“table"
    string[] strcolomn=new String[2];
    object[] strValue=new object[2];
    strcolumn[0]="id";
    strcolumn[1]="mydate"
    strValue=txt.text;
    strValue=DbNull.Value;string strSql = "INSERT INTO " + strTableName + " (";
    for(int i = 0; i < strColumn.Length - 1; i++)
    {
    strSql += (strColumn[i] + ", ");
    }
    strSql += (strColumn[strColumn.Length - 1] + ") VALUES ('");
    for(int i = 0; i < strValue.Length - 1; i++)
    {
    strSql += (strValue[i] + "', '");
    }
    strSql += (strValue[strValue.Length - 1] + "')");
      

  10.   

    string strSql = "INSERT INTO " + strTableName + " (";
    for(int i = 0; i < strColumn.Length - 1; i++)
    {
    strSql += (strColumn[i] + ", ");
    }
    strSql += (strColumn[strColumn.Length - 1] + ") VALUES ('");
    for(int i = 0; i < strValue.Length - 1; i++)
    {
    strSql += (strValue[i] + "', '");
    }
    strSql += (strValue[strValue.Length - 1] + "')");
    应该是这段代码的问题
      

  11.   

    1900-1-1(SQLServer Datetime类型)
    是日期值的最小值,类似于0
    如果一个日期'2000-1-1' + '1900-1-1'
    结果是
    2000-1-1
    没有变化
    !!!!!!