Hi
In your case i would use try and transaction. If the regid of table registration is specified as identity then
try
{
SqlTransaction strns = con.BeginTransaction();
try
{
SqlCommand cmd = new SqlCommand("insert into REGISTER(EMAILID,USER_NAME,PASSWORD,MBLE_NUM,QUESTION1,ANSWER,QUESTION2,ANSWER2)VALUES(@EMAILID, @USER_NAME,@PASSWORD,@MBLE_NUM,@QUESTION1,@ANSWER,@QUESTION2,@ANSWER2); SELECT SCOPE_IDENTITY()", con);
cmd.Transaction = strns;
cmd.Parameters.AddWithValue("@EMAILID", textBox1.Text);
cmd.Parameters.AddWithValue("@USER_NAME", textBox2.Text);
cmd.Parameters.AddWithValue("@PASSWORD", textBox3.Text);
cmd.Parameters.AddWithValue("@MBLE_NUM", textBox4.Text);
cmd.Parameters.AddWithValue("@QUESTION1", comboBox1.Text);
cmd.Parameters.AddWithValue("@ANSWER", textBox5.Text);
cmd.Parameters.AddWithValue("@QUESTION2", comboBox2.Text);
cmd.Parameters.AddWithValue("@ANSWER2", textBox6.Text);
Int64 regid = (Int64)cmd.ExecuteScalar();
cmd.CommandText = "insert into LOGIN(regid, USER_NAME,PASSWORD)VALUES(@regid, @USER_NAME,@PASSWORD)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@regid", regid);
cmd.Parameters.AddWithValue("@USER_NAME", textBox2.Text);
cmd.Parameters.AddWithValue("@PASSWORD", textBox3.Text);
cmd.ExecuteNonQuery();
cmd.CommandText = "insert into RESET_MY_PASSWORD(regid, EMAIL_ID,QUESTION1,ANSWER,QUESTION2,ANSWER2)VALUES(@regid, @EMAIL_ID,@QUESTION1,@ANSWER,@QUESTION2,@ANSWER2)";
cmd.Parameters.Clear();
cmd.Transaction = strns;
cmd.Parameters.AddWithValue("@regid", regid);
cmd.Parameters.AddWithValue("@EMAIL_ID", textBox1.Text);
cmd.Parameters.AddWithValue("@QUESTION1", comboBox1.Text);
cmd.Parameters.AddWithValue("@ANSWER", textBox5.Text);
cmd.Parameters.AddWithValue("@QUESTION2", comboBox2.Text);
cmd.Parameters.AddWithValue("@ANSWER2", textBox6.Text);
cmd.ExecuteNonQuery();
cmd.Dispose();
strns.Commit();
}
catch (Exception)
{
strns.Rollback();
throw;
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}