Ошибка вставки: неверный синтаксис рядом с ключевым словом «SELECT» - PullRequest
1 голос
/ 04 ноября 2011

Я пытаюсь вставить из кода в форме asp.net,

У меня есть две таблицы: Настольные Тренинги training_id training_Date , .

Таблица человекТренинг Я бы training_id название, отдел

Я что-то не так делаю?

Мне нужно вставить значения из формы, а также выбрать значения из справочной таблицы, где идентификатор обучения равен выпадающему выбору значения.

private void InsertInfo()
    {

        SqlConnection conn = new SqlConnection(GetConnectionString());
        string sql = "INSERT INTO personTraining (name,training_id,training,trainingDate.trainingHour,trainingSession)  VALUES (@Val1,SELECT (training_id,training,trainingDate.trainingHour,trainingSession FROM tbl_training WHERE training_id = dpDate.selectedValue))";
        try
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            cmd.Parameters.AddWithValue("@Val1", txtName.Text);
//will add rest of form fields

            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
        }

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

Попробуйте это:

INSERT INTO personTraining (
    name,
    training_id,
    training,
    trainingDate.trainingHour,
    trainingSession)  
SELECT 
    @Val1,
    training_id,
    training,
    trainingDate.trainingHour,
    trainingSession 
FROM tbl_training tt 
WHERE training_id = dpDate.selectedValue
3 голосов
/ 04 ноября 2011

Вы должны будете использовать что-то вроде

INSERT INTO personTraining
            (name,
             training_id,
             training,
             trainingDate.trainingHour,
             trainingSession)
SELECT @Val1,
       training_id,
       training,
       trainingDate.trainingHour,
       trainingSession
FROM   tbl_training
WHERE  training_id = dpDate.selectedValue  

Вы не можете иметь такое гибридное выражение VALUES clause / SELECT.

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