2010-12-15 6 views
1

Ich versuche, eine Insert SQL-Anweisung mit einer select-Anweisung zu kombinieren, ich diese Aussage erfolgreich kombiniert:Kombination Insert SQL-Anweisung mit SELECT-Anweisung für mehr als 1 Wert

insert into dbo.sessions (se_user) select user_id from dbo.users where username = 'bader'", badersql); 

Was ich jetzt brauche, ist zu einfügen ein anderer Wert in der gleichen sQL-Anweisung, wie folgt aus:

insert into dbo.sessions (se_user,*se_ip*) select user_id from dbo.users... 

wie Sie es bemerken se_ip hier in der zweiten Anweisung ist, wird der Wert aus einem Textfeld sein, wie kann ich es mit meiner sQL-Anweisung kombinieren?

Antwort

1
INSERT INTO dbo.sessions (se_user, se_ip) 
SELECT user_id, @ipAddress FROM dbo.users WHERE username = @username 
1

Sie können aus einem Parameter konstant wählen:

using (var command = new SqlCommand(@"insert into dbo.sessions (se_user, se_ip) 
     select user_id, @text from dbo.users...", connection) { 
    command.Parameters.AddWithValue("text", myTextBox.Text); 

    command.ExecuteNonQuery(); 
} 
+0

Könnten Sie bitte Ihre Antwort mit einem Beispiel angeben? , Vielen Dank – Bader

1
insert into dbo.sessions 
    (se_user,se_ip) 
    select user_id, @TextBoxValue 
     from dbo.users... 
0

Sie können die erste Insert-Anweisung verwenden, die Sie in Ihrer Frage erwähnt haben und dann eine Update-Anweisung hinzufügen, um die Daten zu ändern, wie Sie müssen

ODER

ich gehe davon aus Sie den Wert der Textbox in av haben ariable und so können Sie so etwas wie SELECT user_id,@yourtextboxvalue from userstable...

0

Sie ein anderes Feld

zum select Teil Ihrer Insert-Anweisung hinzufügen müssen
insert into dbo.sessions (se_user,*se_ip*) select user_id, other_value from dbo.users ... 

Wenn der Wert kommt aus einem Textfeld verwenden wird ,, es hängt davon ab, wie Sie führen die Insert-Anweisung aus. Wahrscheinlich müssen Sie einen Parameter für Ihr Befehlsobjekt festlegen. Weitere Informationen finden Sie unter this link.

Verwandte Themen