Witam!
Potrzebuję pomocy przy zapisie do bazy danych. Posiadam dwie tabele przedstawione poniżej na obrazku
i potrzebuję pomocy przy zapisaniu danych do wielu tabel jednoczesnie, wyczytałem że używa się do tego transakcji jednak nie wiem jak pobrać ID z tabeli klienci i zapisania ją w tabeli zamowniea. Dodam ze klucze główne są auto inkrementowane.
using (SqlConnection connect = new SqlConnection(conString.ConnectionString))
{
try
{
connect.Open();
using(SqlTransaction myTrans =connect.BeginTransaction())
{
try
{
using (SqlCommand myCommand = connect.CreateCommand())
{
myCommand.Transaction = myTrans;
myCommand.CommandText = "Insert into klienci (imie,nazwisko,adres,miasto) VALUES (@imie, @nazwisko,@adres,@miasto);";
myCommand.Parameters.AddWithValue("@imie", TextBox1.Text);
myCommand.Parameters.AddWithValue("@nazwisko", TextBox2.Text);
myCommand.Parameters.AddWithValue("@adres", TextBox3.Text);
myCommand.Parameters.AddWithValue("@miasto", TextBox4.Text);
myCommand.CommandText = "Insert into rezerwacje (data,godzina,idKlienci) VALUES (@data, @godzina,@idKlienci);";
myCommand.Parameters.AddWithValue("@data", textDate.Text);
myCommand.Parameters.AddWithValue("@godzina", TextBox6.Text);
myCommand.Parameters.AddWithValue("@idKlienci", TextBox7.Text);
myCommand.ExecuteNonQuery();
myTrans.Commit();
Label3.Text = "Zarezerwowano";
}
}
catch (SqlException sqlError)
{
Label2.Text = "Error" + sqlError.Message;
myTrans.Rollback();
}
}
}
catch (InvalidOperationException ex)
{
Label2.Text = "Error";
}
connect.Close();
}