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 不接受数组还是参数问题还是两者兼而有之?
解决方案
推荐阅读
- amazon-cloudformation - 在 cnf 模板中运行 bash 命令
- ruby - 如何在 Slanger 上设置 Redis 身份验证
- cadence-workflow - 如何为 Cadence 活动(本地和常规活动,有或没有重试)设置适当的超时值?
- spring - CSRF令牌如何存储在服务器端(通过spring security或tomcat)
- javafx - 如何使用 javafx SceneBuilder 来实现这种风格
- html - 如何防止flexbox垂直弯曲?
- java - 在 List Java 中使用流 Java 8 进行修改
- php - PHP 在接受新请求时是否优化了静态数据的初始化?
- flutter - 在一行 ExpansionTiles 中渲染一个 ExpansionTile 的子节点
- r - 在R中的循环中更改公式中的变量名称