【发布时间】:2016-11-08 04:01:37
【问题描述】:
我正在处理大量约会到 csv 向用户发送通知等。我想要做的是设置一个 isProcessed 标志来表示当前行已经被处理我不知道该怎么做我当前的循环。
public void DumpTableToFile(SqlConnection connection, string tableName, string destinationFile)
{
using (var command = new SqlCommand("select LineType,CustomerFirstName AS 'Forename' ,CustomerLastName,Age,dob as 'Date of Birth',maritalStatus AS 'Marital Status',homePhone AS 'Home', mobileNumber AS Mobile,emailAddress AS Email,Address1 + Address2 + PostCode AS 'Address' ,employmentStatus AS Employment,occupation AS Occupation,propertyValue AS 'Property Value',mortgageBalance AS 'Mortgage Balance',balanceOnSecuredDebt AS 'Balance on secured Debt',mortgageType as 'Mortgage Type' from " + tableName, connection))
using (var reader = command.ExecuteReader())
using (var outFile = File.CreateText(destinationFile))
{
string[] columnNames = GetColumnNames(reader).ToArray();
int numFields = columnNames.Length;
outFile.WriteLine(string.Join(",", columnNames));
if (reader.HasRows)
{
while (reader.Read())
{
string[] columnValues =
Enumerable.Range(0, numFields)
.Select(i => reader.GetValue(i).ToString())
.Select(field => string.Concat("\"", field.Replace("\"", "\"\""), "\""))
.ToArray();
outFile.WriteLine(string.Join(",", columnValues));
}
}
}
该标志称为 isProcessed,一旦通过 csv 导出,我想将其设置为 true。这样我就可以进行批量导出。它存在于同一个表约会中
编辑 1
很抱歉没有说明我希望将此标志写回到约会表中,以便在 csv 导出中吐出当前记录第二次处理。
【问题讨论】:
-
你想让这个标志做什么?它应该是您写出的文件的一部分吗?内存状态?
-
@EricJ。在那里进行了编辑以解释自己,请参阅编辑 1
-
非常感谢您的投票,感谢
标签: c# sql-server csv ado.net