程序中有这样一行:Convert.ToDateTime("2002-08-02")
是要把一个字符串转化成日期格式,然后存储到数据库(sql server当中)
转化后的日期格式我断点查看的是“2002-8-2 0:00:00”
然后我在查询分析器里面自己写语句把这个记录插入到表中,但是提示这个日期格式有误,我把它改成“2002-8-2”就行了。
现在我要怎么样才能在程序中把后面的0:00:00去掉啊
要不然插入数据库永远都不成功啊
谢谢

解决方案 »

  1.   

    "2002-08-02"不用转换就可以直接Insert啊
      

  2.   

    再说经过测试
    CREATE TABLE TempTable01
    (
    ID INT IDENTITY PRIMARY KEY,
    AddDate DATETIME
    )
    GO
    INSERT INTO TempTable01(AddDate)
    Values('2002-8-2 0:00:00')
    这样执行成功了啊(数据库SQL Server2000).
    (所影响的行数为 1 行)
      

  3.   

    ....
    string strDate="2002-8-2 0:00:00";
    string strCom="INSERT INTO TempTable01(AddDate) VALUES('"+strDate+"')";
    .....
    这样也可以啊!
      

  4.   

    Convert.ToDateTime("2002-08-02") 没问题的.
      

  5.   

    你拼接SQL的时候可以转成你指定的时间格式啊
    比如 private void button6_Click(object sender, System.EventArgs e)
    {
    DateTime dt = Convert.ToDateTime("2005-08-02");
    string s = dt.ToString("yyyy-MM-dd");
    MessageBox.Show(s);
    }
      

  6.   

    可以利用SQL Server的日期转换函数在插入语句中转换
      

  7.   

    string abc=Convert.ToDateTime(传入字符).Tostring("yyyy-MM-dd")
      

  8.   

    c#里面对日期的处理和ms sql里面对日期的处理有点差别或是不兼容的地方。
    在写程序的时候要注意转换协调。