如何读取分隔的文本文件并填充我的数据库? - C#Windows Forms

时间:2015-02-23 22:12:58

标签: c# .net sql-server winforms import

我正在构建一个需要读取分隔文本文件的应用程序,并使用这些数据填充数据库(SQL Server)中的某些表。

我已将分隔符设置为:¬

我需要导入的文件中的数据示例:

OLD_CLASS¬OLD_NUM¬OLD_SUB_NUM¬NEW_CLASS¬NEW_NUM¬NEW_SUB_NUM ZETMODEM¬750000595588¬0¬ZETMODEM¬710000003092¬0 ZETMODEM¬750000991145¬0¬ZETMODEM¬750000003980¬0 ZETMODEM¬750000570809¬0¬ZETMODEM¬710000003092¬0 ZETMODEM¬750000493550¬0¬ZETMODEM¬750000000001¬0

最好(更简单)的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

分隔符的问题在于,您没有代码中的特定检查和界限。例如,您的数据显示不同步非常容易。例如,列不正确:

Example - Demonstration - Format
e - d - f
e - d
e - d - f

如果你做一个简单的split('-');那么你本质上会错误地分裂。您需要创建一系列投影,以确保列和行数据正确匹配。这是一种简单的方法,但我不会详细说明您的数据的清理。

public class Row
{    
     public Row(string content)
     {
          var item = content.Split('-', StringSplitOptions.None);
          Example = item[0];
          Demonstration = item[1];
          Format = item[2];
     }

     public string Example { get; set; }
     public string Demonstration { get; set; }
     public string Format { get; set; }
} 

现在您已经有了分离的方法,您只需在流上进行某种形式的阅读。然后在插入数据库时​​调用Row。你也可以通过Linq,Sql和其他几种方法来做到这一点。