我正在读取C#中的文本文件并尝试将其保存到SQL数据库中。我很好,除了我不想要导入中包含的第一行,即列的名称。排除这些最简单的方法是什么?
代码就像这样
while (textIn.Peek() != -1)
{
string row = textIn.ReadLine();
string[] columns = row.Split(' ');
Product product = new Product();
product.Column1 = columns[0];
etc.....
product.Save();
}
感谢
答案 0 :(得分:2)
如果您自己编写代码以读取文件然后导入...为什么不跳过第一行?
答案 1 :(得分:1)
这是我的建议:
string[] file_rows;
using(var reader=File.OpenText(filepath))
{
file_rows=reader.ReadToEnd().Split("\r\n");
reader.Close();
}
for(var i=1;i<file_rows.Length;i++)
{
var row=file_rows[i];
var cells=row.Split("\t");
....
}
答案 2 :(得分:0)
你是如何导入数据的?如果你在C#中循环并一次插入一个,那么构造你的循环以跳过第一个插入!
或者只是删除它们之后插入的第一行。
提供更多信息,获取更多详细信息......
答案 3 :(得分:0)
将标志传递给程序(如果将来第一行也是数据),导致程序跳过第一行文本。
如果它与数据库中使用的列名相同,您也可以解析它以从中获取列名而不是对它们进行硬编码(假设您当前正在执行的操作:)。)
最后要注意的是,如果您使用的是MySQL数据库并且拥有命令行访问权限,那么您可能需要查看LOAD DATA LOCAL INFILE语法,该语法可以导入相当明确定义的CSV数据。
答案 4 :(得分:0)
将来参考这个很棒的包:FileHelpers Library
我暂时无法添加链接,但谷歌应该提供帮助,这是源于sourceforge
当人们坚持使用文件作为集成
时,它使我们的生活变得更加容易