空字符串插入SQL数据库之后,结果变成了1900-00-01,该如何防止这个问题的发生呢?数据库类型:SQL Server 2000字段类型:datetime

解决方案 »

  1.   

    插入null或
    变varchar(10)存放declare @tb table (d datetime)
    insert into @tb select ''
    insert into @tb select null
    select * from @tb
      

  2.   

    if (myBirthday == "") { myBirthday = null; }然后将这个插入数据库,不行啊
      

  3.   


    if (myBirthday == "") { myBirthday = "null"; }string sql ="insert into tb(date) values(myBirthday)";
      

  4.   

    C#的null和sql不是一个概念,最后的语句要拼成insert into tb(date) values(null)null 不能带'号什么的
      

  5.   

    null 从字符串转换为 datetime 时发生语法错误
      

  6.   

    可以了,不过在显示的时候,不过在显示时候,又引发了一些问题Birthday.Text = DateTime.Parse((myReader["Birthday"].ToString())).ToString("yyyy-mm-dd");无法将NULL进行转换为DateTime类型
      

  7.   

     string dt = "2008-01-01 12:05:05";
            dt = dt == null ? "" : DateTime.Parse(dt).ToString("yyyy-MM-dd");
      

  8.   

    判断下,如果是null,改为空字符串,
    不是null,输入年月日,MM大写
      

  9.   

    数据库里显示的是 1905-00-10string sql ="insert into tb(date) values(myBirthday)";  // 这个插入有错误提示string sql ="insert into tb(date) values("+myBirthday+")";  // 我用的这个
      

  10.   

    string sql ="insert into tb(date) values("+myBirthday+")";  // 我用的这个 该没问题吧,你跟踪下,看myBirthday是null这个串吗?
      

  11.   

    if (txtdate.text== "") 

    myBirthday = "null";
     }
    else 
    {
    myBirthday="'"+txtdate.text+"'";
    }