我试过两套代码更新按钮,并且所有这些都失败了。第一个错误是关于truncuated double,第二个错误是无法连接到DB。有人能告诉我什么是错的吗?更新按钮c#sql
1组代码:
void updateSection()
{
con.Close();
cmd = new MySqlCommand("update deliver_supplies set Del_SSupplier ='" + SuppNameCombo.Text + "' and Del_SName ='" + txtProdName.Text + "' and Del_SBrand ='" + txtProdBrand.Text + "' and Del_SQty ='" + txtQty.Text + "' and Del_SReceived ='" + DTPReceived.Text + "' where Del_sID ='" + lblSuppIDChecker.Text + "'", con.con);
con.Open();
reader = cmd.ExecuteReader();
}
第二套代码:
void updateSection()
{
string cmdText = @"update deliver_assets
set Del_ASupplier [email protected]
Del_AName = @name,
Del_ABrand = @brand
Del_AQty = @qty
Del_AReceived = @recv
where Del_aID = @id";
using(MySqlConnection con = new MySqlConnection(.....))
using(MySqlCommand cmd = new MySqlCommand(cmdText, con))
{
cmd.Parameters.Add("@sup", MySqlDbType.VarChar).Value = SuppNameCombo.Text;
cmd.Parameters.Add("@name", MySqlDbType.VarChar).Value = txtProdName.Text;
cmd.Parameters.Add("@brand", MySqlDbType.VarChar).Value = txtProdBrand.Text;
cmd.Parameters.Add("@qty", MySqlDbType.VarChar).Value = Convert.ToDouble(txtQty.Text);
cmd.Parameters.Add("@recv", MySqlDbType.VarChar).Value = DTPReceived.Text;
cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = Convert.ToInt32(lblAssetIDChecker.Text);
con.Open();
int rowsUpdated = cmd.ExecuteNonQuery();
if(rowUpdated > 0)
MessageBox.Show("Record updated");
}
}
请说明确切的错误和它们发生的地方。你也可以添加你使用的数据库作为标签吗? –
第一个代码的错误是:截断不正确DOUBLE值:'OMG Suppliers'(OMG供应商是一个测试数据。 –
你的第一个查询似乎不是正确的。为什么你使用'和'而不是逗号' ,'like second query? – Sachin