【问题标题】:Asp.Net datetime SQL parameterAsp.Net 日期时间 SQL 参数
【发布时间】:2013-11-13 19:17:54
【问题描述】:

我正在从 SQL 表中选择一些数据。表中有一个日期时间类型(SQL 类型)的列。

存储过程正在使用这个

 where CONVERT(varchar(10),post_tarihi,105)=@post_tarihi(event_date)

我有一个方法有一个参数是哪个类型的字符串(Asp.net类型)

 <asp:ControlParameter  ControlID="txtDate" Name="post_tarihi" DefaultValue="13-11-2013"  PropertyName="Text" Type="String"/>

当我从 sql 管理工作室执行 sp 时,返回一些结果 但是当我运行 asp.net 应用程序时,什么也不返回。 类型有问题吗?

如果你问“为什么使用文本框日期”,我使用的是因为使用 datepicker(jquery)

【问题讨论】:

  • 我认为,在这种情况下,当您通过 asp.net 传递参数时,它会转换为空日期,这就是为什么您的 r 没有得到任何结果
  • 日期选择器使用什么日期格式?需要 MM-DD-YYYY 才能匹配 105 的格式代码。
  • @BWS format ="DD-MM-YYYY"..但这不是问题。因为如您所见,我将日期时间列转换为“DD-MM-YYYY”
  • 我不认为这个关于格式的问题。因为它返回空参数的默认值(13-11-2013)
  • @BhaveshKachhadiya 我检查了 asp.net debug.sending 参数为“13-11-2013”​​..asp.net 方面似乎有任何问题

标签: asp.net sql datetime


【解决方案1】:

我解决了问题

1- 将 SQL 参数类型从 varchar 更改为 datetime 并将查询更改为

CONVERT(date,post_tarihi)= @post_tarihi

2- 将 Asp.net 参数类型从字符串更改为日期时间

 <asp:ControlParameter  ControlID="txtDate" Name="post_tarihi" DefaultValue="2013-11-13"  PropertyName="Text" Type="DateTime"/>

3- 将日期时间格式“DD-MM-YYYY”更改为“YYYY-MM-DD”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多