来自TextFile的DataTable? [英] DataTable from TextFile?
问题描述
我接手了另一位开发人员编写的应用程序,该应用程序从数据库读取数据,并将其导出。
开发人员使用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屋!