将文本文件集合导入到SQL Server表中

时间:2018-06-21 16:46:57

标签: c# sql-server

我试图从文本文件收集数据,以便在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是否不接受数组,或者是参数问题,还是两者都存在?

0 个答案:

没有答案