C# 传递datetime类型参数给存储过程——"-"附近有语法错误!!

来源:百度知道 编辑:UC知道 时间:2024/05/02 17:09:55
新手求助: SOS
在SQL存储过程中有一个 varchar输入参数@company,和两个Datetime的输入参数@datebegin,@datend.
我在C#程序中我通过datetimepicker得到两个datetime类型的值datebegin,dateend 传递给存储过程
出现如下错误:

传递参数的语句:
string cm = @"exec sp_fw_month" + "'" + textBox1.Text + "'," + datebegin.Value + "," + dateend.Value ;

出现如下错误:

"-"附近有语法错误。

当我写成:string cm = @"exec sp_fw_month" + "'" + textBox1.Text + "','" + datebegin.Value + "','" + dateend.Value +"'";
出现如下错误:
从字符串向 datetime 转换时失败。

问:如何传递datetime 类型参数给存储过程??

datebegin.Value改成datebegin.Value.ToString("yyyy-MM-dd HH:mm:ss");
dateend.Value改成dateend.Value.ToString("yyyy-MM-dd HH:mm:ss");

datebegin.Value.ToString() 的格式可能是数据库不能转换的表达式,尝试格式化成一个数据库能理解的表达式

用字符串吧在转换