Я программирую кнопку для приложения C #, где показывает, затем позволяет пользователю изменить детали (например, номер телефона, адрес), а затем он заменяет ее старыми значениями в базе данных SQL, я не уверенесли что-то не так с написанным мною кодом SQL или это связано с кодом C #.Также я очень плохо знаком с кодированием;поэтому мне очень жаль, если мой код смущает вас.Строка подключения ---
<connectionStrings>
<add name="connstrng" connectionString="Data Source=DESKTOP-MJ61J7L\SQLEXPRESS;Initial Catalog=Econtact;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"/>
</connectionStrings>
Класс, называемый ContactClass ----
class contactClass
{
//getter and setter properties
//acts as data carrier in our application
public int ContactID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ContactNo { get; set; }
public string Address { get; set; }
public string Gender { get; set; }
public bool Update(contactClass c)
{
bool isSuccess = false;
SqlConnection conn = new SqlConnection(myconnstrng);
try
{
string sql = "UPDATE tbl_contact SET FirstName=@FirstName, LastName=@LastName, ContactNo=@ContactNo, Address=@Address, Gender=@Gender WHERE ContactID=@ContactID";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@FirstName", c.FirstName);
cmd.Parameters.AddWithValue("@LastName", c.LastName);
cmd.Parameters.AddWithValue("@ContactNo", c.ContactNo);
cmd.Parameters.AddWithValue("@Address", c.Address);
cmd.Parameters.AddWithValue("@Gender", c.Gender);
cmd.Parameters.AddWithValue("@ContactID", c.ContactID);
//open database connection
conn.Open();
int row = cmd.ExecuteNonQuery();
if (row != 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
conn.Close();
}
Console.WriteLine(isSuccess);
return isSuccess;
}
Кнопка обновления (при нажатии)
private void btnUpdate_Click(object sender, EventArgs e)
{
c.FirstName = txtboxFirstName.Text;
c.LastName = txtboxLastName.Text;
c.ContactNo = txtboxPhonenumber.Text;
c.Address = txtboxAddress.Text;
c.Gender = cmbGender.Text;
//update data in the database
bool success = c.Update(c);
if(success==true)
{
MessageBox.Show("Contact has been successfully updated.");
}
else
{
MessageBox.Show("Unsuccesfull");
}
}
Также (на всякий случай) данные извлекаются из базы данных sql
private void dgvContactList_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
//get data grid view and load it into textboxes
//identify which row mouse is clicked
int rowIndex = e.RowIndex;
txtBoxContactID.Text = dgvContactList.Rows[rowIndex].Cells[0].Value.ToString();
txtboxFirstName.Text = dgvContactList.Rows[rowIndex].Cells[1].Value.ToString();
txtboxLastName.Text = dgvContactList.Rows[rowIndex].Cells[2].Value.ToString();
txtboxPhonenumber.Text = dgvContactList.Rows[rowIndex].Cells[3].Value.ToString();
txtboxAddress.Text = dgvContactList.Rows[rowIndex].Cells[4].Value.ToString();
cmbGender.Text = dgvContactList.Rows[rowIndex].Cells[5].Value.ToString();
}