c# - 来自文本文件的数据表?

标签 c# datatable sqldataadapter

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

开发人员使用了 DataTables 和 DataAdaptors。

所以,

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

然后

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

然后传递 ExtractedData 以执行不同的功能。

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

所以,我想知道是否可以像上面那样将数据读入 DataTable,然后从 CSV 文件中添加更多记录。

这可能吗?

最佳答案

您可能需要使用此函数将数据从文件读入DataTable

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;
}

关于c# - 来自文本文件的数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486503/

相关文章:

c# - 无法从 DataGridView 获取值到另一个表单

.net - 我可以从 SqlDataAdapter 获取 SqlConnection 吗?

c# - 如何从另一个系统调用我的 Function App API?

c# - 数据库优先方法中的独特约束

primefaces - p :datatable summary row calculation

c# - 使用 SqlDataAdapter 分页 SqlDataReader 源

c# - 简化类结构

c# - 向实体添加新的构造函数

javascript - 在销毁之前删除数据表中的行