来自TextFile的DataTable? [英] DataTable from TextFile?

查看:152
本文介绍了来自TextFile的DataTable?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我接手了另一位开发人员编写的应用程序,该应用程序从数据库读取数据,并将其导出。



开发人员使用DataTables和DataAdaptors。 >

所以,

  _dataAdapter = new SqlDataAdapter(Select * From C .. ..,myConnection); 

然后

 code> ExtractedData = new DataTable(CreditCards); 
_dataAdapter.Fill(ExtractedData);

然后将ExtractedData传递到不同的函数。


$ b $我现在已经被告知,除了这一点外,我还需要从一些逗号分隔的文本文件获得相同的格式的数据。应用程序执行相同的处理 - 它只是从两个来源获取数据。



所以,我想知道如果我能将数据读入DataTable,如上所述,然后从CSV文件中添加更多记录。



这可能吗?

解决方案

您可能需要使用将数据从文件中读取到 DataTable 中的功能。

  public DataTable GetDataSourceFromFile(string fileName)
{
DataTable dt = new DataTable(CreditCards);
string [] columns = null;

var lines = File.ReadAllLines(fileName);

//假设第一行包含列信息
if(lines.Count()> 0)
{
columns = lines [0] .Split (new char [] {','});

foreach(列中的var列)
dt.Columns.Add(column);
}

//读取其余数据
for(int i = 1; i< lines.Count(); i ++)
{
DataRow dr = dt.NewRow();
string [] values = lines [i] .Split(new char [] {','});

for(int j = 0; j< values.Count()&& j< columns.Count(); j ++)
dr [j] = values [j ];

dt.Rows.Add(dr);
}
return dt;
}


I have taken over an application written by another developer, which reads data from a database, and exports it.

The developer used DataTables and DataAdaptors.

So,

 _dataAdapter = new SqlDataAdapter("Select * From C....", myConnection);

and then

ExtractedData = new DataTable("CreditCards");
_dataAdapter.Fill(ExtractedData);

ExtractedData is then passed around to do different functions.

I have now been told that I need to, in addition to this, get the same format of data from some comma separated text files. The application does the same processing - it's just getting the data from two sources.

So, I am wondering if I can get the data read into a DataTable, as above, and then ADD more records from a CSV file.

Is this possible?

解决方案

You might need to use this function to read the data into DataTable from the file.

public DataTable GetDataSourceFromFile(string fileName)
{
    DataTable dt = new DataTable("CreditCards");
    string[] columns = null;

    var lines = File.ReadAllLines(fileName);

    // assuming the first row contains the columns information
    if (lines.Count() > 0)
    {
        columns = lines[0].Split(new char[] { ',' });

        foreach (var column in columns)
            dt.Columns.Add(column);
    }

    // reading rest of the data
    for (int i = 1; i < lines.Count(); i++)
    {
        DataRow dr = dt.NewRow();
        string[] values = lines[i].Split(new char[] { ',' });

        for (int j = 0; j < values.Count() && j < columns.Count(); j++)
            dr[j] = values[j];

        dt.Rows.Add(dr);
    }
    return dt;
}

这篇关于来自TextFile的DataTable?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆