C#两个列表用于cmd参数

时间:2017-11-21 06:57:49

标签: c# sql-server list

我有两个列表

List<TimeSpan> MovieStart, List<TimeSpan> MovieEnd

SQL查询:

SELECT DATEADD(HOUR, @MovieDuration, @MovieStartTime) MovieEndTime
FROM MovieDetails

现在我正在尝试使用for-loop但我一直都会遇到错误 - 有人可以帮我解决这个问题吗?

我尝试使用的代码:

int counter = 0;

using (SqlDataReader rdr = cmd3.ExecuteReader())
{
    cmd3.Parameters.AddWithValue("@MovieDuration", MovieDuration[counter]);
    cmd3.Parameters.AddWithValue("@MovieTime", MovieStartTime[counter]);

    while (rdr.Read())
    {
        MovieEndTime.Add(rdr.GetTimeSpan(rdr.GetOrdinal("MovieEndTime")));//add to the list
    }

    counter++;
}

con.Close();

错误是

  

System.Data.SqlClient.SqlException(0x80131904):必须声明标量变量&#34; @ MovieDuration&#34;

1 个答案:

答案 0 :(得分:0)

由于orkelens建议使用C#

,很容易解决
for(int i = 0; i < MovieDuration.Count; i++) {
       TimeSpan MovieEndTime = MovieStartTime[i] + MovieDuration[i];
       lstMovieEndTime.Add(MovieEndTime);
}