我在我的电脑上运行一切正常。但放到windows2003服务器上,就会报FormatException: 输入字符串的格式不正确。
搞的我很头大,不知道问题出在什么地方。我的插入语句如下:
string strSql = @"Insert Into EquipmentRepair(RegistrationDate,CustomerId,Fault,RepairDate,UserId,Measure,Result,EquipmentNo) 
                                Values (@RegistrationDate,@CustomerId,@Fault,@RepairDate,
                                        @UserId,@Measure,@Result,@EquipmentNo)";
                OleDbParameter[] prms = { new OleDbParameter("@RegistrationDate",OleDbType.VarChar,255), 
                                    new OleDbParameter("@CustomerId",OleDbType.Integer,4),
                                    new OleDbParameter("@Fault",er.Fault),
                                    new OleDbParameter("@RepairDate",OleDbType.VarChar,255),
                                    new OleDbParameter("@UserId",OleDbType.Integer,4),
                                    new OleDbParameter("@Measure",er.Measure),
                                    new OleDbParameter("@Result",er.Result),
                                    new OleDbParameter("@EquipmentNo",OleDbType.VarChar,255),};
                prms[0].Value = er.RegistrationDate;
                prms[1].Value = er.CustomerId;
                //prms[2].Value = er.Fault;
                prms[3].Value = er.RepairDate;
                prms[4].Value = er.UserId;
                prms[7].Value = er.EquipmentNo;
请大家帮帮忙。。不知道问题出在哪。我本机是windwos7+vs2008开发的。服务器是windows2003,装的IIS6+net framework3.5
搞了2天了,也没弄明白,问题在什么地方,谢谢大家了.
没有分了,就只有20分了!!!

解决方案 »

  1.   

    一般是日期格式导致的。access不在不同的区域设置里面。时间格式是不同的。
    参见
    http://dotnet.aspx.cc/article/27c0d578-e4df-44dc-91a7-54ba10a53d1f/read.aspx
      

  2.   

    原因就是不同的服务器设置不同导致的,你自己调试、改写吧,包括重新修改access字段类型
      

  3.   

    er.RegistrationDate;
    er.RepairDate;
    格式的问题?你看生成的SQL
      

  4.   

    很奇怪,我在windows2003里面装上VS2008就可以正常运行了,不知道为什么,是不是装.net framework3.5 少装点了什么东西