2010-12-15 79 views
1

我試圖插入SQL語句select語句結合起來,我成功地結合這樣的說法:與SELECT語句結合插入SQL statment超過1個值

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

我現在需要的是插入在同一個SQL語句中的另一個值,就像這樣:

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

當你發現有se_ip在這裏的第二份聲明,該值將是從一個文本框,我怎麼能和我的sql語句結合起來呢?

回答

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

您可以選擇從參數不變:

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

能否請您提供一個例子的答案? , 謝謝 – Bader 2010-12-15 16:46:20

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

您可以使用在你的問題已經提到的第一個插入語句,然後添加一個更新語句來修改數據你需要

我假設你有文本框的值在av良莠不齊,所以你可以使用類似SELECT user_id,@yourtextboxvalue from userstable...

0

你需要另一個字段添加到您的插入語句的select部分

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

如果值來自一個文本框,,這取決於如何你正在運行插入語句。您可能必須爲命令對象設置一個參數。有關更多詳細信息,請參閱this link