2015-07-12 35 views
-1

我正在嘗試在C#.NET中創建一個與簡單SQL服務器數據庫有連接的應用程序。提高異常的可見性?

我有地方:

c2.CommandText = "delete from Courier where ID=" + Int32.Parse(txt_ID.Text); 

的問題是,當我打開的txt_ID能見度false,出現此錯誤:

型 'System.FormatException' 未處理的異常發生在 mscorlib.dll附加信息:輸入字符串不是 正確的格式。

但是當能見度是真的時,一切都好!爲什麼?

+0

首先使用debug!看看text_ID.text的值是什麼。 –

+0

檢查以確保在更改可見性時不會更改您的Txt_Id.Text的值。也嘗試使用lnt32.TryParse它不會拋出一個錯誤只是給你一個布爾結果表明成功或失敗。 –

+0

@MarkHall當可見性爲false時,我發現txt_ID.Text爲null,但我不知道爲什麼! –

回答

0

發生異常是因爲txt_Id.text無法轉換爲整數。

控件的可見性沒有影響。

+0

我也很奇怪!但是當文本框可見時,一切正常,沒有錯誤! 那麼我應該怎麼做才能將txt_ID.text轉換爲整數值? –

+0

在解析指令之前,顯示文本框及其內容(用於調試):_txt_ID.Visible = true; MessageBox.Show(「Text =#'」+ txt_ID.Text +「#」); _和chek它不包含空格。 – Graffito

+0

我做了你所說的,我發現textBox的值在null可見時爲空!但是當可見性爲true時,文本框的值就是指定的ID。 我不知道是什麼原因,爲什麼可見性顯示文本框的價值! –