我是新來的c#和使用Windows窗體。我設置Datagridview
只接受數字和一個小數點。如何防止從DataGridView c#存儲在數據庫中的小數點?
我存儲/更新Datagridview
單元格值到SQL表(錢列類型)。 我不想將小數點本身存儲到sql表中,因爲sql不會接受它並會拋出異常(因爲只接受double值)
所以我寫了這段代碼來防止小數點被存儲到SQL表本身:
private void updateButton_Click(object sender, EventArgs e)
{
// connection string and the rest of sql stuff....
MyCommand.CommandText = "UPDATE Table1 SET ........");
MyCommand.Parameters.Add("@value1", SqlDbType.Money);
if (Convert.ToChar(dataGridView1.Rows[0].Cells[1].Value) != '.')// if not dot then store it in database
{
MyCommand.Parameters["@value1"].Value = Convert.ToDecimal(dataGridView1.Rows[0].Cells[1].Value);
}
}
但是,此代碼沒有工作,仍然拋出一個異常(輸入字符串的不正確的格式),每當我被自己Row0, column1
輸入小數點點,然後點擊更新按鈕。 任何人都可以告訴我爲什麼條件不起作用?我怎麼能使它工作。謝謝
拋出什麼樣的異常? –
@尼古拉斯舒斯特。 「輸入字符串的格式不正確」。任何想法? – Kate
我懷疑Convert.ToDecimal在傳遞一個不能轉換爲數字的字符串時拋出異常。我懷疑dataGridView1.Rows [0] .Cells [1] .Value不包含您在輸入單元格時出現的值。 – Kevin