各位大哥,在我的sql server2000中有一个datetime的字段"日期",现在要进行插入数据操作 内容为页面上一个textbox的值,这个sql 语句我是这么写的,可是老是报错 (我用的是asp.net c# sql2000)
cmd.CommandText="insert into 表(日期) values CDate('"+textbox.text.tostring().trim()+"')";
结果老是说不可识别的CDate函数,以前我用ACCESS做数据库这样用的对的啊,请教为什么改成了sql2000就不行了呢,该用哪个函数才对啊"

解决方案 »

  1.   

    "insert into 表(日期) values ('"+textbox.text.tostring().trim()+"')";
    这样就行了。
      

  2.   

    cmd.CommandText="insert into 表(日期) values CAST('"+textbox.text.tostring().trim()+"' AS datetime)";
      

  3.   

    cmd.CommandText="insert into 表(日期) 
    values ('"+textbox.Text.trim()+"')";
      

  4.   

    这样写不是更好!
    cmd.CommandText="insert into 表(日期) values ('"
    + Convert.ToDateTime(textbox.text).ToString("yyyy-MM-dd HH:mm:ss")
    +"')";
      

  5.   

    cmd.CommandText="insert into 表(日期) values CAST('"+textbox.text.tostring().trim()+"' AS datetime)";
      

  6.   

    要不用format把文本转化一下,然后再保存试试
      

  7.   

    直接string类型的就行,单引号括起来,不用转
      

  8.   

    谢谢楼上的各位,但是如果textbox的内容为空时,当执行这个语句时,数据库中的日期就变成了,
    1900-1-1,能不能让当textbox.的字符为空时,日期字段里不填内容,也为空而不是1900-1-1
      

  9.   

    支持一下,SQL2000中没有CDate函数。
      

  10.   

    如果想让日期字段里不填内容,可以考虑使用变量,先对变量进行赋值,而后再进行insert操作。
      

  11.   

    还有一点,就是数据库中字段如果是时间类型的话,必须允许为空,但如果不是时间类型的话,直接insert操作就会出现空值吧!