Another problem related to the ExecuteNonQuery() method of the above DBUtility class.
In the code below, i have two methods - btnUpdate_Click() and btnInsert_Click() - both doing almost same work, except that one uses and SQl "UPDATE" statement while the latter uses the "INSERT" sql.
Not the funny part is, code for INSERT executes and its data is reflected in the DB. The Code for UPDATE also executes, it returns that one row was affected by the statement, but the changes do not reflect in the DB at all.
protected void btnUpdate_Click(object sender, EventArgs e) {
string updateCommand = "UPDATE stud_master SET firstName = @Fname, lastName = @Lname, emailId = @Email, city = @City WHERE StudID = @ID";
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@ID", txtID.Text),
new SqlParameter("@Fname", txtFName.Text),
new SqlParameter("@Lname", txtLName.Text),
new SqlParameter("@Email", txtEmail.Text),
new SqlParameter("@City", txtCity.Text)
};
DBUtility dbUtility = new DBUtility();
if (DBUtility.ExecuteNonQuery(updateCommand, CommandType.Text, parameters) > 0) {
lblStatus.Text = "Record Successfully Updated.";
}
else {
lblStatus.Text = "Cannot add new Record. Operation failed.";
}
}
protected void btnInsert_Click(object sender, EventArgs e) {
string insertCommand = "INSERT INTO stud_master VALUES(@ID, @Fname, @Lname, @Email, @City)";
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@ID", txtID.Text),
new SqlParameter("@Fname", txtFName.Text),
new SqlParameter("@Lname", txtLName.Text),
new SqlParameter("@Email", txtEmail.Text),
new SqlParameter("@City", txtCity.Text)
};
Int32 rowsAffected = dbUtility.ExecuteNonQuery(insertCommand, CommandType.Text, parameters);
if (rowsAffected > 0) {
lblStatus.Text = "Record Successfully added.";
}
else {
lblStatus.Text = "Cannot add new Record. Operation failed.";
}
}