2011-11-04 66 views
1

我想從後面的代碼中插入一個asp.net形式,插入錯誤:關鍵字附近有語法錯誤「SELECT」

我有兩個表: 表培訓 training_id training_Date 。 。

表personTraining ID training_id 名, 部門

難道我做錯了什麼?

我需要從形式插入的值,加上,從查找表中,其中,所述訓練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(); 
     } 

回答

3

您將需要使用像

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條款/ SELECT聲明這樣。

+0

,謝謝,我有一個問題,唯一的錯誤是從下拉列表中通過選擇的值作爲參數來查詢培訓表。 – user959443

3

試試這個:

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 
相關問題