将insert sql语句与select语句组合使用的值超过1

时间:2010-12-15 16:43:25

标签: c# sql-server visual-studio-2010

我正在尝试将insert sql语句与select语句结合使用,我成功地结合了这个语句:

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语句结合使用?

5 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

您可以使用您在问题中提到的第一个插入语句,然后添加更新语句以根据需要修改数据

OR

我假设您在变量中具有文本框的值,因此您可以使用类似SELECT user_id,@yourtextboxvalue from userstable...

的内容

答案 4 :(得分:0)

您需要在插入语句的select部分添加另一个字段

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

如果值来自文本框,则取决于您如何运行insert语句。您可能必须为命令对象设置参数。有关详细信息,请参阅this link