一个简单的C#连接字符串到平面文件,txt

时间:2012-11-28 13:20:48

标签: c#

任何人都可以通过连接字符串帮助我连接到Microsoft平面文件,扩展名为txt吗? 我只想阅读用|分隔的txt文档

获取数据并尽可能通过DataAdapter将其加载到DataTable中,文件的第一行应该是DataTable上的列名,最后DataType在DataTable上并不重要

4 个答案:

答案 0 :(得分:2)

尝试this

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\filepath;Extended Properties="text;HDR=Yes;FMT=Delimited";

这样的事情应该有效

  string strSql = "SELECT * FROM [" + fileName + "]"; 

  string strCSVConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";" + "Extended Properties='text;HDR=YES;'"; 

  // load the data from CSV to DataTable 

  OleDbDataAdapter oleda = new OleDbDataAdapter(strSql, strCSVConnString); 
  DataTable dtbCSV = new DataTable(); 
  oleda.Fill(dtbCSV); 

答案 1 :(得分:1)

查看http://connectionstrings.com/textfile

连接字符串示例:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;
Extended Properties="text;HDR=Yes;FMT=Delimited";

答案 2 :(得分:1)

如何利用.Net提供的功能:

参考Microsoft.VisualBasic,您可以使用TextFieldParser

using (var parser =
    new TextFieldParser(@"c:\data.csv")
        {
            TextFieldType = FieldType.Delimited,
            Delimiters = new[] { "," }
        })
{
    while (!parser.EndOfData)
    {
        string[] fields;
        fields = parser.ReadFields();
        //go go go!
    }
}

答案 3 :(得分:0)

我发现导致这个问题的原因。 在MS网站上,他们谈论了一个schema.ini文件,该文件应该能够处理分隔文件bla bla bla,但我注意到,一旦你将所有设置放在注册表中它就会接管。因此,一旦我在注册表ArsenMkrt代码中更改了格式并且连接字符串正常工作,我就根据我的需要进行了调整,这一切都很好。

感谢大家,非常感谢ArsenMkrt。

我喜欢C#