作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MyDataSource.SelectParameters["startDate"].DefaultValue =
fromDate.SelectedDate.Date.ToString();
如您所见,我正在 .Net SqlDataSource 中设置参数的默认值。但我认为该字符串输出的格式不正确。 T-SQL 日期时间正确匹配的正确格式是什么?
以下是现在输出的格式:
编辑:在我拥有 DataSource 之前,它应该被写入 SqlDataSource
这是一些代码
<asp:SqlDataSource ID="MyDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:sampledb %>" SelectCommand="Recording_Select" SelectCommandType="StoredProcedure" OnSelecting="MyDataSource_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="respondentID" DefaultValue="%" Name="RespondentID" PropertyName="Text" Type="String" />
<asp:SessionParameter Name="projectCode" SessionField="proj" Type="String" />
<asp:ControlParameter ControlID="interviewerList" Name="InterviewerID" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="dispCodeList" Name="dispCode" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="fromDate" DefaultValue="1/1/1900" Name="startDate" PropertyName="SelectedValue" Type="DateTime" />
<asp:ControlParameter ControlID="toDate" DefaultValue="1/1/1900" Name="endDate" PropertyName="SelectedValue" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
编辑:好吧,我解决了这个问题,但看起来有点傻。该代码从未调用 DefaultValue,因为始终存在一个值。所以我唯一的解决方案是创建一个新的隐藏标签控件并将正确的日期时间加载到其中。这几乎成功了。我不知道我怎么忽略了这一点。
最佳答案
您可以使用一个 SqlDateTime 结构来实现此目的
DateTime DotNetDateTime = new DateTime(2009, 5, 4);
System.Data.SqlTypes.SqlDateTime sqlDateTime = new System.Data.SqlTypes.SqlDateTime(DotNetDateTime);
或者直接在一行中(因为 SqlDateTime 在构造函数重载之一中采用与 .NET DateTime 类相同的参数):
System.Data.SqlTypes.SqlDateTime sqlDateTime = new System.Data.SqlTypes.SqlDateTime(2009, 5, 4);
关于.net - 如何将 .Net 日期时间转换为 T-SQL 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822000/
我是一名优秀的程序员,十分优秀!