.NET C#调用存储过程报错! adapter.Fill(ds, "a"); 报错! 从数据类型 varchar 转换为 datetime 时出错

publicDataSetGet_NLProcedure(stringstrFormName,stringstrStoreNo,DateTimestrStartDate,... public DataSet Get_NLProcedure(string strFormName, string strStoreNo, DateTime strStartDate, DateTime strEndDate, string other, string strIRealType, ref string strIfType)
{
...省略。。。

就是这里!
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds, "aa");
运行到 adapter.Fill(ds, "aa"); 报错!!我看了dataset为空!!!
报 System.Data.OleDb.OleDbException: 从数据类型 varchar 转换为 datetime 时出错。
捕捉到 System.Data.OleDb.OleDbException
HResult=-2147217913
Message=从数据类型 varchar 转换为 datetime 时出错。
Source=Microsoft OLE DB Provider for SQL Server
ErrorCode=-2147217913
C#里调用的是 ds = Webservice.Get_Procedure(strGroupID, strStoreID, dtStartdate, dtEnddate, other, strIRealType, ref strFileName); 看来看去没有任何问题啊!快疯了!
展开
 我来答
syht2000
高粉答主

推荐于2018-04-19 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
把存储过程的两个时间参数一样改成varchar,然后把你的strstartdate用标准格式传入比如strstartdate.tostring("yyyy-MM-dd hh:mm:ss")这种,如果需要参数转换,在存储过程中用数据库的转换函数来转换时间格式。
Nice_WP
2014-09-13 · TA获得超过1769个赞
知道大有可为答主
回答量:2877
采纳率:53%
帮助的人:938万
展开全部
0.0 错误里说了,从varchar转datetime失败。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式