直接当作字符串处理,sql server会将合法的DateTime字符串自动转换为DateTime的。

解决方案 »

  1.   

    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) "
    +"values ("+_mtid+",'"+DateTime.Now.ToString("yyyy/MM/dd")+"')";
      

  2.   

    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) values ("+_mtid+",...
    写成
    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) values ("+_mtid+",@mydt)";
    insertsqlcmd.Parameters.Add("@mydt",SqlDbType.DateTime).Value=strvdate;
      

  3.   

    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) values ('','2004-6-1')
    用string即可
      

  4.   

    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) "
    +"values ("+_mtid+",'"+DateTime.Now.ToString("yyyy/MM/dd")+"')";
      

  5.   

    可能是client和sqlserver日期格式不同之故,在client显示为 14/9/2004 的插入到数据表后变为:1900/1/1。请问如何在允许使用不同格式的日期下正常读写呢?照各位指点,程式如下:
    string _strvdate=System.DateTime.Today.ToShortDateString() ;
    insertsqlcmd.CommmandType =CommandType.Text;
    insertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) values ("+_mtid+","+_strdate+")" ;
      

  6.   

    直接当作字符串处理,sql server会将合法的DateTime字符串自动转换为DateTime的。我感觉这样也是可以的
      

  7.   

    '"+DateTime.Now.ToString("yyyy/MM/dd")+"'转为string就可以了
      

  8.   

    如果sql server的日期格式不是yyyy/mm/dd呢,用DateTime.Now.ToString("yyyy/MM/dd")也可以吗?也就是说,程式里用DateTime.Now.ToString("yyyy/MM/dd")就可以不理会sql server端的日期格式设置?另外在转换时出现如下问题:
    为何显示的日期不同?
    string vdate =System.DateTime.Now.ToString();   //14/9/2004
    string vdate2=System.DateTime.Now.ToString("yyyy/mm/dd");   //2004/10/14
      

  9.   

    忘了说:是winforms
    sql server2000 os:win2k serverinsertsqlcmd.CommandText="Insert into bomshead (mtid,vdate) "
    +"values ("+_mtid+",'"+DateTime.Now.ToString("yyyy/MM/dd")+"')";
    时发现在client显示为:2004/09/15的到数据表里变成了:1900/1/15sql server 所在os的地区设置中日期:
              简短日期:yyyy/M/d
              完整日期:yyyy年M月d日用户端 所在os的地区设置中日期:
              简短日期:d/M/yyyy
              完整日期:dddd,d MMMM,yyyy请大家帮。忙。。!