sql = "Insert into InOrder(InNo,WHCode, ClientOrderNo,InDate,InTypeCode,TradeCode,FactoryCode,BarCode,TruckLiense,CountryCode,TotalGrossWeight,TotalNetWeight,TotalCartons,TotalValue,Is_Canceled,Is_Drawback,Is_Fixed,Re,UserId,Is_Send,TransferTime,TotalOdd,GUID)values('" + aInOrder.InNo + "','" 
+ aInOrder.WHCode + "','" + aInOrder.ClientOrderNo + "','" +aInOrder.InDate.ToString() + "','" + aInOrder.InTypeCode + "','" + aInOrder.TradeCode + "','" + aInOrder.FactoryCode + "','"  + aInOrder.BarCode + "','" + aInOrder.TruckLiense + "','"+aInOrder.CountryCode 
+ "','" + aInOrder.TotalGrossWeight.ToString() + "','"+aInOrder.TotalNetWeight.ToString() + "','"+aInOrder.TotalCartons.ToString() + "','" + aInOrder.TotalValue.ToString() + "','" + Convert.ToInt32(aInOrder.Is_Canceled) + "','" + Convert.ToInt32(aInOrder.Is_Drawback) + "','" + Convert.ToInt32(aInOrder.Is_Fixed) + "','"  
+ aInOrder.Re + "','" + aInOrder.UserId + "','" + Convert.ToInt32(aInOrder.Is_Send) + "','" + aInOrder.TransferTime.ToString() + "','" + aInOrder.TotalOdd.ToString() + "','" + aInOrder.GUID + "')" ;
以上的SQL语句在本人机器上运行正常,但在别人机器上就出现异常,提示时间会被截断
aInOrder.InDate.ToString()是不是要在ToString()中设置时间的格式呢?

解决方案 »

  1.   

    用oracle的话, 是用 to_date ('string', 'format');sqlserver 就不知道啦~
    (强行转换成要的格式,再存DB, 就不用关心OS是什么语言了)
      

  2.   

    aInOrder.TransferTime.ToString() ToString要设置正确的格式
      

  3.   

    如果数据库中你设计的是时间类型,在递交的时候不能够使用aInOrder.TransferTime.ToString() 吧!你可以通过将对象中的时间属性转化为数据库可以接受的时间类型,这样子你在不同的地方递交数据的时候,数据库认到的值就会统一了!
      

  4.   

    aInOrder.TransferTime.ToString("yyyy-MM-dd")试试,
      

  5.   

    设置日期格式Format(dts.Tables(0).Rows(0).Item("UPDATE_TIME"), "yyyy/MM/dd HH:mm:ss.fff")
      

  6.   

    是的,谢谢各位了,是不同机器时间格式有问题,要他他转化为指定格式,如下所示
    aInOrder.TransferTime.ToString("yyyy-MM-dd HH:mm:ss",System.Globalization.DateTimeFormatInfo.InvariantInfo)
    谢谢大家拉啊