sql 2005中的日期,asp.net

sql 2005中的日期,asp.net,asp.net,vb.net,Asp.net,Vb.net,如果我没有在文本框中放置任何日期,系统将默认捕获1/1/1900而不是Null。我如何才能消除这个问题 cmd.CommandText=“更新FormMaster集合简述日期=”+TextBox7.Text+“” 其中FormID=“&Val(AutoID.Text) cmd.ExecuteNonQuery() 谢谢我建议您在之前特别检查TextBox7的值并分配给变量,因此如果日期正确,则分配值“'”+TextBox7.Text+”,否则只分配空值 这将导致语句为UPDATE TABLE SE

如果我没有在文本框中放置任何日期,系统将默认捕获1/1/1900而不是Null。我如何才能消除这个问题

cmd.CommandText=“更新FormMaster集合简述日期=”+TextBox7.Text+“”

其中FormID=“&Val(AutoID.Text)

cmd.ExecuteNonQuery()


谢谢

我建议您在之前特别检查TextBox7的值并分配给变量,因此如果日期正确,则分配值“'”+TextBox7.Text+”,否则只分配空值


这将导致语句为UPDATE TABLE SET DATE=NULL(如果需要)或UPDATE TABLE SET DATE='DATE',否则

这将导致语句为UPDATE TABLE SET DATE=NULL(如果需要)或UPDATE TABLE SET DATE='DATE',否则请使用cmd.Parameters集合设置SQL参数值

2) 编写一个函数ToDBNullableDate(string),将字符串转换为DateTime,将空字符串转换为DBNull

object ToDBNullableDate(string s)
{
    if (string.IsNullOrEmpty(s))
        return DBNull.Value
    return Convert.ToDateTime(s);
}
1) 请使用cmd.Parameters集合设置SQL参数值

2) 编写一个函数ToDBNullableDate(string),将字符串转换为DateTime,将空字符串转换为DBNull

object ToDBNullableDate(string s)
{
    if (string.IsNullOrEmpty(s))
        return DBNull.Value
    return Convert.ToDateTime(s);
}