1
所以我有一個函數從數據庫中檢索數據並輸出它。它被封裝在try塊中,以便處理從行耗盡到處理的錯誤。嘗試塊被調用兩次
這裏有被稱爲負載的功能(使初始輸出),並呼籲後來在更新日誌框。
問題是,每當我再次調用函數時,它會輸出兩次數據。由於只有數據在try塊中,而不是頭文件,所以指向try/catch是問題。
道歉凌亂/哈克代碼:
private void NavigateRecords()
{
da.Fill(ds1, "LogOutput");
textlog4.Text = "Date \t\t Time \t\t Floor\r\n";
try
{
for (int i = 0; i <= 20; i++)
{
DataRow dRow = ds1.Tables["LogOutput"].Rows[i];
for (int i2 = 1; i2 <= 3; i2++)
{
textlog4.Text += dRow.ItemArray.GetValue(i2).ToString() + "\t\t";
}
textlog4.Text += "\r\n";
}
}
catch { textlog4.Text += "----------------------"; }
}
這是做連接的部分的代碼,並且可以是使用的:
string sql = "SELECT * From tblLog";
da = new System.Data.SqlClient.SqlDataAdapter(sql, con);
NavigateRecords();
初始輸出:
Date Time Floor
6/12 18:18:22 1
----------------------
輸出下次調用時:
Date Time Floor
6/12 18:18:22 1
6/12 18:46:19 2
6/12 18:18:22 1
6/12 18:46:19 2
----------------------
如何調用'NavigateRecords()'以及在哪裏使用'ds1'? –
您使用調試器嗎?通過你的代碼,你會看到發生了什麼。 try/catch沒有問題。 – roken
如果我猜測,我會說表中有重複的信息,而不是'try'被調用兩次。爲了記錄,我對你依賴程序邏輯的異常並不狂熱。 –