数据表id   姓名  生日
1    刘    1978-05-27
2    李    1978-05-26这里的生日字段是日期型的,我是这么写的
String rq="1978-05-26";
cmd.CommandText="select 姓名 from 生日表 where 生日='"+rq+"'";为什么提示:从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
高手,怎么改啊?

解决方案 »

  1.   

    DateTime rq=datatime.parse("1978-05-26");
      

  2.   

    cmd.CommandText="select 姓名 from 生日表 where 生日=@rq";
    cmd.Parameters.Add(new SqlParameter("@rq",SqlDbType.DateTime));
    cmd.Parameters["@rq"].Value = DateTime.Parse(rq);
      

  3.   

    要么  DateTime rq=datatime.parse("1978-05-26");要么  把生日的类型改为char类型  (教坏人)
      

  4.   

    select 姓名 from 生日表 where 生日='=convert(datetime,'""+rq+"')";
      

  5.   

    select 姓名 from 生日表 where 生日='=convert(datetime,'""+rq+"')";
      

  6.   

    你的sqlserver应该有类似to_date的这样的转换日期函数?