2016-02-07 3 views
-1

Я пытаюсь использовать вставку, а как один из параметров использовать результат оператора выбораInsertStatement с использованием SelectStatement в asp.net

try { 
     SqlConnection conn1 = new SqlConnection(ConfigurationManager.ConnectionStrings["RentCarConnectionString"].ConnectionString); 
     conn1.Open(); 

     string selectQuery = "Select IDOsoby from Klienci Where Email = @Semail "; 
     string insertQuery = "insert into Wypozyczenia (IdOsoby, IDCAR, DataWypozyczenia) values (@idOs, @idcar, @data)"; 
     string updateQuery = "Update Samochody SET CzyDostepny = 'False' Where IDCAR = @idCar"; 

     SqlCommand com1 = new SqlCommand(selectQuery, conn1); 
     SqlCommand com2 = new SqlCommand(insertQuery, conn1); 
     SqlCommand com3 = new SqlCommand(updateQuery, conn1); 

     com1.Parameters.AddWithValue("@Semail", Session["New"]); 

     com2.Parameters.AddWithValue("@idOs", selectQuery); 
     com2.Parameters.AddWithValue("@idCar", Session["S_polka"]); 

     com3.Parameters.AddWithValue("@idCar", Session["S_polka"]); 
     com2.Parameters.AddWithValue("@data", DateTime.Today.ToShortDateString()); 

     com1.ExecuteNonQuery(); 
     com2.ExecuteNonQuery(); 
     com3.ExecuteNonQuery(); 

     conn1.Close(); 
    } 
    catch(Exception ex) 
    { 
    } 

код работает, но в Wypozyczenia таблицу Он был добавлен IdOsoby как «Он был добавлен» , Пожалуйста, помогите, как я могу это исправить?

ответ

0

Таким образом, объедините отдельные запросы Insert и Select. Просто используйте Insert into..Select синтаксис

insert into Wypozyczenia (IdOsoby, IDCAR, DataWypozyczenia) 
Select IDOsoby, @idcar, @data from Klienci Where Email = @Semail 
Смежные вопросы