我将日期时间值从C#传递到SQL Server SP.如果我传递格式dd-MM-yyyy然后它工作正常但没有从SP返回任何值,即使有该日期的记录.如果我使用格式MM-dd-yyyy运行SP,则返回错误“将数据类型nvarchar转换为datetime时出错”....
![](https://oss.womengda.net/imgfile/2310/1ER2I60331P-45226.jpg)
我将日期时间值从C#传递到SQL Server SP.如果我传递格式dd-MM-yyyy然后它工作正常但没有从SP返回任何值,即使有该日期的记录.如果我使用格式MM-dd-yyyy运行SP,则返回错误“将数据类型nvarchar转换为datetime时出错”. SP是
执行usp_detData ’22 / 12/2012 00:00:00′,’31 / 12/2013 23:59:59′—错误
执行usp_detData ’12 / 22/2012 00:00:00′,’12 / 31/2013 23:59:59′—工作正常
你能告诉我解决方案吗?
解决方法:
I am passing a datetime value from C# to SQL Server SP.
我相信你通过字符串连接传递它.如果你使用SqlParameter类型的DateTime并让服务器处理它,它会更好.
using (SqlCommand cmd = new SqlCommand(" usp_detData", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@StartDate", DateTime.Now.AddDays(-10));
cmd.Parameters.AddWithValue("@EndDate", DateTime.Now);
SqlDataReader dr = cmd.ExecuteReader();
.....
}
还可以考虑在代码中使用using块,例如使用实现IDisposable的对象. SqlCommand,SqlConnection,SqlDataReader等.
本文标题为:字符串未被识别为Sql服务器的有效DateTime C#
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- Unity中 mesh生成斜坡的示例代码 2023-04-21
- C#+EmguCV使用摄像头读取、保存视频 2023-05-26
- Unity Shader实现翻书效果 2023-02-03
- C#之继承实现 2023-05-30
- C#构造函数详解 2023-05-31
- 用C#做网络爬虫的步骤教学 2023-01-06
- C#调用SQL Server中有参数的存储过程 2023-05-25
- c#如何利用定时器自动备份数据库详解 2023-05-06
- 如何把ASP.NET Core应用程序做成为Windows Service服务(转载) 2023-09-27
- C#实现选择排序 2023-06-28