объединение вставки sql statment с оператором select для более чем 1 значения - PullRequest
1 голос
/ 15 декабря 2010

Я пытаюсь объединить оператор вставки SQL с оператором выбора, я успешно объединил этот оператор:

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 ]

1 голос
/ 15 декабря 2010
insert into dbo.sessions 
    (se_user,se_ip) 
    select user_id, @TextBoxValue
        from dbo.users...
1 голос
/ 15 декабря 2010
INSERT INTO dbo.sessions (se_user, se_ip)
SELECT user_id, @ipAddress FROM dbo.users WHERE username = @username
1 голос
/ 15 декабря 2010

Вы можете выбрать константу из параметра:

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 голосов
/ 15 декабря 2010

Вам нужно будет добавить другое поле в select часть вашего оператора вставки

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

Если значение берется из текстового поля, это зависит от того, как вы выполняете вставкузаявление.Вам, вероятно, придется установить параметр для вашего командного объекта.см. эту ссылку для более подробной информации.

0 голосов
/ 15 декабря 2010

Вы можете использовать первый оператор вставки, который вы упомянули в своем вопросе, а затем добавить оператор обновления, чтобы изменить данные по мере необходимости

ИЛИ

Я предполагаю, что у вас есть значение текстового поля в переменной, и поэтому вы можете использовать что-то вроде SELECT user_id,@yourtextboxvalue from userstable...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...