我有一个程序,它使用datagrids显示数据库中的表。要编辑数据网格中的详细信息,我单击该行,该行中的数据将填充在我的文本框中。我编辑了我需要的内容,单击我的保存按钮并更新我的数据网格。
这很有效,直到我尝试使用货币表进行此操作。我得到未处理的数据类型不匹配错误。现在我很确定这是因为我有'''符号还是因为'''。因为金额是4.99英镑,但我坚持如何解决它,所以我可以将其传输到文本框并正确编辑。将数据移动到文本框工作正常,但是当我编辑和保存时,我收到错误。
将数据从数据网格移动到文本框的代码:
// Displays Payment infomation in Update Area
if (e.RowIndex < 0 || e.ColumnIndex < 0)
{
}
else
{
if (paymentsDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null)
{
textBox_cus_id_pay.Text = "" + paymentsDataGridView.Rows[e.RowIndex].Cells["Payments_Customer_ID"].Value.ToString();
textBox_amount.Text = paymentsDataGridView.Rows[e.RowIndex].Cells["Amount"].Value.ToString();
textBox_join_pay.Text = paymentsDataGridView.Rows[e.RowIndex].Cells["Join_Date"].Value.ToString();
}
在文本框中编辑后更新数据网格的代码:
DialogResult dialogResult = MessageBox.Show("Are you sure you want to update this payment? ", "Update Payment " + textBox_forename.Text + textBox_surname.Text, MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{// Updates Product Info
if (textBox_cus_id_pay.Text == "" || textBox_amount.Text == "" || textBox_join_pay.Text == "")
{
MessageBox.Show("Please leave no boxes blank");
}
else
{
string payData = textBox_cus_id_pay.Text;
command.CommandText = "UPDATE PayTable SET Payments_Customer_ID = '" + textBox_cus_id_pay.Text + "', Amount = " + textBox_amount.Text + ", Join_Date = '" + textBox_join_pay.Text + "'";
connect.Open();
command.Connection = connect;
command.ExecuteNonQuery();
connect.Close();
refreshPayments();
MessageBox.Show("Payment Updated");
}
}
任何帮助都会非常感激!