我试图从文本文件收集数据,以便在Sql Server中填充表。收集部分正在运行,但是在“ ExecuteNonQuery”处,出现“对象类型System.Collections.Generic.List没有映射存在”错误。我已经在这里和其他站点研究了此错误,从我可以收集到的信息中,该错误是由于尝试用数组填充表或参数有问题而引起的。我尝试对填充表格的代码进行各种调整。我讨厌修改未损坏的内容,所以没有碰过收集代码。这是我的代码:
var mbrNbr = new List<string>();
var sPages = new List<int>();
var ePages = new List<int>();
var startPage = 0;
var endPage = 0;
using (var sr = new StreamReader(@"\\path\textFile.txt"))
{
while (sr.Peek() > 0)
{
var line = sr.ReadLine();
var memberNumber = line.Substring(698,11);
var passThru = line.Substring(698,11);
var oceMax = Convert.ToInt32(line.Substring(910, 3));
if (passThru.Equals(memberNumber))
{
mbrNbr.Add(memberNumber);
startPage = endPage + 1;
endPage += oceMax * 2;
ePages.Add(endPage);
sPages.Add(startPage);
}
}
}
var sqlConn = new SqlConnection("server/db conneciton");
sqlConn.Open();
var updateSql = @"update myTable
set MemberNbr = @memberNumber,
StartPage = @startPage, EndPage = @endPage";
using (SqlCommand cmd = new SqlCommand(updateSql, sqlConn))
{
cmd.CommandTimeout = 6000;
cmd.Parameters.AddWithValue("@memberNumber", mbrNbr);
cmd.Parameters.AddWithValue("@startPage", sPages);
cmd.Parameters.AddWithValue("@endPage", ePages);
cmd.ExecuteNonQuery();
}
sqlConn.Close();
为了构造一个特定的问题,请看下面的话:SQL Server是否不接受数组,或者是参数问题,还是两者都存在?