C# 从c调用存储过程时,枚举未产生任何结果#
我正在使用SQL Server 2014。我试图在这里调用存储过程,结果是0行中有一个 “枚举未产生任何结果” 信息。这不是一个错误。我怎样才能解决这个问题 我的推测是,当然是参数,尤其是DateTime类。我还使用了C# 从c调用存储过程时,枚举未产生任何结果#,c#,sql-server,C#,Sql Server,我正在使用SQL Server 2014。我试图在这里调用存储过程,结果是0行中有一个 “枚举未产生任何结果” 信息。这不是一个错误。我怎样才能解决这个问题 我的推测是,当然是参数,尤其是DateTime类。我还使用了SqlDateAdapter,但仍然得到了相同的结果 下面是代码。提前谢谢 public HttpResponseMessage GET() { string connstr = ConfigurationManager.ConnectionStrings["xyz
SqlDateAdapter
,但仍然得到了相同的结果
下面是代码。提前谢谢
public HttpResponseMessage GET()
{
string connstr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString;
DataSet ds = new DataSet();
//SqlDataAdapter adapter;
SqlDataReader reader;
string testDate1 = "2017-01-16";
DateTime dt1 = DateTime.ParseExact(testDate1, "yyyy-MM-dd", CultureInfo.InvariantCulture);
string testDate2 = "2016-12-16";
DateTime dt2 = DateTime.ParseExact(testDate2, "yyyy-MM-dd", CultureInfo.InvariantCulture);
SqlParameter[] parameters = new SqlParameter[4];
parameters[0] = new SqlParameter("@date1", SqlDbType.DateTime);
parameters[0].Value = testDate1;
parameters[1] = new SqlParameter("@date2", SqlDbType.DateTime);
parameters[1].Value = testDate2;
parameters[2] = new SqlParameter("@order", SqlDbType.Int);
parameters[2].Value = 2;
parameters[3] = new SqlParameter("@limit", SqlDbType.Int);
parameters[3].Value = 100;
try
{
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand();
cmd.CommandText="dbo.[abc]";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
conn.Open();
foreach(SqlParameter sprocParams in parameters){
cmd.Parameters.Add(sprocParams);
}
reader = cmd.ExecuteReader();
while(reader.HasRows){
Console.WriteLine(reader.GetInt32(0));
}
conn.Close();
}
catch(SqlException sqe){
System.Diagnostics.Debug.WriteLine(sqe.Message);
System.Diagnostics.Debug.WriteLine(sqe.StackTrace);
}
}
将引用传递给字符串而不是日期时间
parameters[0] = new SqlParameter("@date1", SqlDbType.DateTime)
parameters[0].Value = dt1;
哪一行正在抛出异常?顺便说一句,您可以跳过for循环来添加参数。只需使用
cmd.Parameters.AddRange(Parameters)代码>如果使用相同的参数从SSMS运行存储过程,它是否返回行?你能发布存储过程吗?伙计们,在我发布这个之后,我马上就知道了。我的错。这是一个非常愚蠢的错误。我交换了日期1和日期2。sproc在订单中期待它。谢谢你!伙计们,在我发布这篇文章的那一刻,我就明白了。我的错。这是一个非常愚蠢的错误。我交换了日期1和日期2。sproc在订单中期待它。谢谢你!