我有一些代码执行SQL存储过程,然后将结果写入CSV文件,但最后一个值没有写入文件。
代码:
conn = new SqlConnection(_sConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand("usp_PS_Test", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ExportDate", DateTime.Now));
cmd.Parameters.Add(new SqlParameter("@SiteId", _iSiteId));
using(SqlDataReader rdr = cmd.ExecuteReader())
using(StreamWriter salesWriter = new StreamWriter(_sSalesFileName))
while(rdr.Read())
{
salesWriter.WriteLine("{0},{1},{2},{3},{4}",rdr["TransactionDate"],rdr["ProductCode"] , rdr["Qty"] ,rdr["Price"] , rdr["NominalCode"]);
}
列“NominalCode”没有被写入文件,有什么建议吗?
我尝试了相同的代码但使用了不同的存储过程,并且最后一列缺失了。
从存储过程返回的数据:
TransactionDate ProductCode Qty Price NominalCode
2015-07-30 00:00:00 SERVICE 1 45.00 4000001
2015-07-30 00:00:00 SERVICE 1 15.00 4000001
另外,愚蠢的时刻,我如何将“价格”列格式化为货币/货币格式?
谢谢
答案 0 :(得分:1)
结果(正如我所承认的那样)代码中存在不同的基础问题,其中设置了存储过程的参数。这反过来没有正确连接以检索需求值。
感谢您的帮助和建议。