我使用SqlDataReader
寫有幾個工作表的Excel工作簿。每個工作表都有一個頭文件,一個主體和一個頁腳,所以我在while循環中使用了一個while循環。SqlDataReader的決不返回false
的問題是reader.Read()
不會返回我false,所以EOF永遠不會設置爲false。在文件末尾,當我嘗試寫入標題時出現錯誤,因爲讀者爲空。
特定的錯誤信息是:
嘗試無效時不存在數據讀取。
請看看我的代碼,如果你能幫助。
reader = cmd.ExecuteReader();
bool eof = false;
bool first = true;
while (!eof)
{
// write a header
// set newHeaderCondition from the Reader -- error occurs here
if (first)
{
reader.Read();
first = false;
}
do
{
// write row onto spreadsheet
eof = reader.Read(); ---- THIS IS NEVER FALSE
} while (!eof && (reader[0] == newHeaderCondition));
// write footer that doesn't contain any reader data
if (!eof)
{
// create a new worksheet
}
}
reader.Close();
沒錯。我需要做的是改變我的條件while(eof!= false ....) – Missy
這是正確的:-) –