0

我最近开始使用文件助手。

FileHelperEngine engine = new FileHelperEngine(typeof(Customer));
Customer[] customers = (Customer[]) engine.ReadFile(@"..\Data\CustomersDelimited.txt");

我必须从 SQL Server 表中读取数据,然后格式化数据并写入文件,而不是从文件中读取数据。

请告知是否有人遇到这种情况。

4

2 回答 2

0

您的问题根本没有太多细节。但是,我收集到的是您目前正在使用

http://filehelpers.sourceforge.net/

从/向平面文件读取/写入数据记录。

开始读取和写入 SQL Server 数据库的最简单方法是使用实​​体框架。具体使用 Code First 方法。这将最接近你现在正在做的事情。

查看http://msdn.microsoft.com/en-us/data/ef.aspx以开始使用。

使用 Entity Framework Code First,您可以从/向数据库读取和写入对象实例,而不会比您现在使用平面文件所做的复杂得多。

于 2012-07-29T17:41:51.963 回答
0

File Helpers 在网站上提供了一个示例。

代码如下所示(基于链接示例)

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"); 
于 2012-07-30T13:27:42.610 回答