sqldatetime从使用Web服务的android应用程序溢出sql server

时间:2014-01-10 08:19:53

标签: android web-services sql-server-2008

我从我的Android应用程序调用Web服务。当我在本地调用该服务没有问题,但如果我通过我的Android应用程序调用该服务,我会收到以下错误。服务器上的日期时间很好。请帮忙。我在我用于插入的存储过程中使用getdate()函数。

sqldatetime overflow. must be between 1/1/1753

Plz查看以下网络服务代码,以便您更好地了解---

    [WebMethod]
    public String SaveHighRiskPrediction(int PatientCode, int PreganancyID, string txt_BP, string txt_BPdia, string txt_Weigth, string drp_ankle, 

string txt_Urinetest, string txt_albumin, string txt_symptoms, string drp_fhr)
    {
        try
        {
            //DateTime _today;
            //if (DateTime.TryParseExact(Convert.ToString(DateTime.Today), "dd-MM-yyyy", null, DateTimeStyles.None, out _today)) { }

            DateTime DateToday;
            string abc =System .DateTime .Now .ToString ("dd-MMM-yyyy");
            string [] def = abc.Split('-');
            string xyz  = def[2]+"/"+def[1]+"/"+def[0];
            if (DateTime.TryParseExact(dateAll, "dd-MM-yyyy", null, DateTimeStyles.None, out DateToday)) { }
            Generic.db.Crital_Test_Insert(PatientCode,
                                          PreganancyID,
                                          txt_BP,
                                          txt_BPdia,
                                          txt_Weigth,
                                          drp_ankle,
                                          txt_Urinetest,
                                          "",
                                          txt_albumin,
                                          txt_symptoms,
                                          drp_fhr,
                                          "",
                                          "",
                                          "",
                                          "",
                                          "",
                                          "",
                                          "",
                                          Convert .ToDateTime (xyz),
                                          "",
                                            Convert .ToDateTime (xyz),
                                          "",
                                          "",
                                           Convert .ToDateTime (xyz),
                                            Convert .ToDateTime (xyz),
                                          "");
            return "Record Saved Successfully!";
        }

        catch (Exception ex)
        {
            return ex.ToString();
        }
    }

1 个答案:

答案 0 :(得分:1)

如果没有发布您的代码,我无法告诉您“内联”有什么问题。但是,该错误意味着您正在尝试将无效的日期/时间存储到字段中,并且非常可能是非空值表示某个奇怪的日期,例如1/1/0或非常大的日期1/1/9999

要解决此问题:您需要将调试添加到服务器端代码并​​处理数据访问层中的无效有效值 - 以及需要查找和修复该错误的Android代码。