我試過兩套代碼更新按鈕,並且所有這些都失敗了。第一個錯誤是關於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