Relatively new user to using C# and I want to update existing data within an sql database. I do understand that the line DataRow dr = dTable.NewRow(); actually adds a new row but I want the command that updates the selected row with the data from the text box. Thanks in advance.
MySqlDataAdapter dAdapter = new MySqlDataAdapter("SELECT * FROM myDatabase WHERE username ='" + txtUserName.Text + "'", myConn);
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
if (dTable.Rows.Count == 0)
{
DialogResult drError;
drError = MessageBox.Show("That user name does not exist, please create a user.", "User name does not exist", MessageBoxButtons.OK, MessageBoxIcon.Error);
if (drError == DialogResult.Yes)
{
this.Close();
}
}
else if (dTable.Rows.Count == 1)
{
DataRow dr = dTable.NewRow();
dr["day1consumed"] = Convert.ToInt32(txtCCDay1.Text);
dr["day1burned"] = Convert.ToInt32(txtCBDay1.Text);
dr["day2consumed"] = Convert.ToInt32(txtCCDay2.Text);
dr["day2burned"] = Convert.ToInt32(txtCBDay2.Text);
dr["day3consumed"] = Convert.ToInt32(txtCCDay3.Text);
dr["day3burned"] = Convert.ToInt32(txtCBDay3.Text);
dr["day4consumed"] = Convert.ToInt32(txtCCDay4.Text);
dr["day4burned"] = Convert.ToInt32(txtCBDay4.Text);
dr["day5consumed"] = Convert.ToInt32(txtCCDay5.Text);
dr["day5burned"] = Convert.ToInt32(txtCBDay5.Text);
dr["day6consumed"] = Convert.ToInt32(txtCCDay6.Text);
dr["day6burned"] = Convert.ToInt32(txtCBDay6.Text);
dr["day7consumed"] = Convert.ToInt32(txtCCDay7.Text);
dr["day7burned"] = Convert.ToInt32(txtCBDay7.Text);
dTable.Rows.Add(dr);
MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(dAdapter);
int iRowsAffected = dAdapter.Update(dTable);
dAdapter.Dispose();
DialogResult drReply;
drReply = MessageBox.Show("Your data has been saved", "Record updated", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (drReply == DialogResult.Yes)
{
this.Close();
}
else
{
MessageBox.Show("Error saving data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}