加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Web服务的正确日期时间格式

发布时间:2020-12-12 07:00:28 所属栏目:MsSql教程 来源:网络整理
导读:我有一个webservice,其方法是通过我的 javascript中的xmlhttprequest对象调用的.该方法接受datetime参数,该参数随后转换为字符串并针对数据库运行以执行计算. 我从m_txtDateAdd获取值并发送xmlHttprequest asp:textbox id=m_txtDateAdd tabIndex=4 runat="ser
我有一个webservice,其方法是通过我的 javascript中的xmlhttprequest对象调用的.该方法接受datetime参数,该参数随后转换为字符串并针对数据库运行以执行计算.

我从m_txtDateAdd获取值并发送xmlHttprequest

<asp:textbox id=m_txtDateAdd tabIndex=4 runat="server" Width="96px" Text="<%# Today %>">
</asp:textbox>

它有一个验证器

<asp:CustomValidator id="m_DateAddValidator" runat="server" ErrorMessage="Please Enter a Valid Date" ControlToValidate="m_txtDateAdd">&#x25CF;</asp:CustomValidator>

我的webmethod看起来像这样

[WebMethod]
public decimal GetTotalCost(DateTime transactionDate)
{
    String sqlDateString = transactionDate.Year+"/"+transactionDate.Month+"/"+transactionDate.Day;

我使用sqlDateString作为我发送到数据库的commandtext的一部分.它是一个遗留应用程序及其内联sql,所以我没有自由设置存储过程,并在我的代码后面创建和分配参数.这有效率的90%.在m_txtDateAdd的onchange事件上调用webservice.我一次又一次地从服务器得到的响应是

System.ArgumentException:无法将25/06/2009转换为System.DateTime.
System.ArgumentException:无法将25/06/2009转换为System.DateTime.

参数名称:type —> System.FormatException:String未被识别为有效的DateTime.

at System.DateTimeParse.Parse(String s,DateTimeFormatInfo dtfi,DateTimeStyles styles)
   at System.DateTime.Parse(String s,IFormatProvider provider)
   at System.Convert.ToDateTime(String value,IFormatProvider provider)
   at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
   at System.Convert.ChangeType(Object value,Type conversionType,IFormatProvider provider)
   at System.Web.Services.Protocols.ScalarFormatter.FromString(String value,Type type)
   --- End of inner exception stack trace ---
   at System.Web.Services.Protocols.ScalarFormatter.FromString(String value,Type type)
   at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
   at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
   at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
   at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

解决方法

您需要以正确的XML格式发送DateTime:2009-07-10T12:40Z.从 http://en.wikipedia.org/wiki/ISO_8601起.

另外,你为什么使用HttpRequest?为什么不使用添加服务参考?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读