我最近开始使用filehelpers。
FileHelperEngine engine = new FileHelperEngine(typeof(Customer));
Customer[] customers = (Customer[]) engine.ReadFile(@"..\Data\CustomersDelimited.txt");
我不是从文件中读取数据,而是从SQL服务器表中读取数据,然后格式化数据并写入文件。
请告知您是否有人参与此方案。
答案 0 :(得分:0)
您的问题中没有太多细节。但是,我收集的是你当前正在使用
http://filehelpers.sourceforge.net/
从平面文件读取/写入数据记录。
开始阅读和编写SQL Server数据库的最简单方法是使用Entity Framework。特别使用Code First方法。它将与您现在正在做的最接近。
查看http://msdn.microsoft.com/en-us/data/ef.aspx即可开始使用。
使用实体框架代码首先,您可以从/向数据库读取和编写对象实例,而不会像现在使用平面文件那样复杂。
答案 1 :(得分:0)
文件助手在网站上提供了一些示例。
代码看起来像这样(基于链接的示例)
SqlServerStorage storage = new SqlServerStorage(typeof(OrdersVerticalBar));
storage.ServerName = "MyServerName";
storage.DatabaseName = "Northwind";
storage.FillRecordCallback = new FillRecordHandler(FillRecordOrder);
FillRecords
方法应如下所示
protected void FillRecordOrder(object rec, object[] fields)
{
OrdersVerticalBar record = (OrdersVerticalBar) rec;
record.OrderID = (int) fields[0];
record.CustomerID = (string) fields[1];
record.EmployeeID = (int) fields[2];
record.OrderDate = (DateTime) fields[3];
record.RequiredDate = (DateTime) fields[4];
if (fields[5] != DBNull.Value)
record.ShippedDate = (DateTime) fields[5];
else
record.ShippedDate = DateTime.MinValue;
record.ShipVia = (int) fields[6];
record.Freight = (decimal) fields[7];
}
然后,您可以运行以下命令将内容直接写入输出文件。
FileDataLink.EasyExtractToFile(storage, "outfile.txt");