bar*_*_dp 0 c# asp.net datetime stored-procedures datetime-format
如何将 C# DateTime 变量的格式从 转换d/M/yyyy HH:mm:ss为yyyy/M/d HH:mm:ss
我不想更改字符串输出,而是 DateTime 变量本身。
我有一个带@date日期时间参数的存储过程。现在我试图将一个 DateTime 变量Today从 C# 传递给这个存储过程。C# DateTime 变量采用格式,d/M/yyyy HH:mm:ss但存储过程需要格式yyyy/M/d HH:mm:ss。
我尝试使用 LINQ to SQL: 代码:
public static object SP_SelectSalesPriceItem()
{
var query = dc.SP_SalesPrice(DateTime.Now);
return query;
}
Run Code Online (Sandbox Code Playgroud)
存储过程:
ALTER PROCEDURE [dbo].[SP_SalesPrice]
@Date datetime
AS
BEGIN
SET NOCOUNT ON;
select SalesPrice.[Item No_]
from Sales Price
where [Starting Date] < @Date and ([Ending Date] > @Date
Run Code Online (Sandbox Code Playgroud)
这是我在 asp.net 中得到的错误: 指定的强制转换无效。
堆栈跟踪:
[InvalidCastException:指定的转换无效。]
System.Data.SqlClient.SqlBuffer.get_Int32() +5002837
System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i) +38
Read_SP_SalesPriceResult(ObjectMaterializer 2.MoveNext() +32 System. Web.UI.WebControls.ListView.CreateItemsWithoutGroups(ListViewPagedDataSource dataSource, Boolean dataBinding, InsertItemPosition insertPosition, ArrayList keyArray) +222 System.Web.UI.WebControls.ListView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +1040 System.Web.UI. WebControls.ListView.PerformDataBinding(IEnumerable 数据) +44 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable 数据) +1281 ) +1477
System.Data.Linq.SqlClient.ObjectReader
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +33
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
System.Web.UI.WebControls.ListView.PerformSelect() +113
System. Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
System.Web.UI.WebControls.ListView.CreateChildControls() +55
System.Web.UI.Control .EnsureChildControls() +102
System.Web.UI.Control.PreRenderRecursiveInternal() +42
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496
您要求的内容是不可能的,原因很简单, aDateTime 没有格式。
格式是 a 的字符串表示形式DateTime。
存储过程应该接受一个DATETIME参数@date- 如果不是,你做错了什么。
如果您正在使用NVARCHAR或这种类型的,你需要调用ToString您DateTime在C#中使用正确的格式添加参数值之前。
| 归档时间: |
|
| 查看次数: |
3089 次 |
| 最近记录: |