gpt4 book ai didi

c# - 字符串未被识别为 Sql 服务器的有效 DateTime C#

转载 作者:太空狗 更新时间:2023-10-29 23:16:06 25 4
gpt4 key购买 nike

我正在将日期时间值从 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

关于c# - 字符串未被识别为 Sql 服务器的有效 DateTime C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com