从另一个表插入表和值

从另一个表插入表和值

问题描述:

我想插入表数据和文本框的值到另一个表。我试图插入命令如下,但它不工作。从另一个表插入表和值

Insert into 
    Table_UserAnswer 
     (
     UserQuizID, 
     QuizID, 
     QuestionID, 
     Title, 
     Answer1, 
     Answer2, 
     Answer3, 
     Answer4, 
     CorrectAnswer 
     ) 
     '" + m.ToString() + 
     "', 
     select 
     top 5 QuizID, 
     QuestionID, 
     Title, 
     Answer1, 
     Answer2, 
     Answer3, 
     Answer4, 
     CorrectAnswer 
    from 
     [Table_Question] 
    order by 
      newid()" 
+0

m.ToString()的用户是什么? – 2013-02-21 08:49:55

+0

m = Dr [0] .ToString(); max = Convert.ToInt16(m); max = max + 1; } con.Close(); con.Dispose(); Dr.RoseClose(); Dr.Dispose(); cmd.Cancel(); cmd.Dispose(); m = max.ToString(); – user1661868 2013-02-21 09:04:47

使用INSERT INTO...SELECT声明,

INSERT INTO 
    Table_UserAnswer 
    (
     UserQuizID, 
     QuizID, 
     QuestionID, 
     Title, 
     Answer1, 
     Answer2, 
     Answer3, 
     Answer4, 
     CorrectAnswer) 
    SELECT TOP 5 
     'UserQuizIDValue', 
     QuizID, 
     QuestionID, 
     Title, 
     Answer1, 
     Answer2, 
     Answer3, 
     Answer4, 
     CorrectAnswer 
    FROM 
     Table_Question 
    ORDER BY 
     newid() 

UserQuizIDValue值是从m.ToString()

INSERT INTO TestTable的(Col1中,col2的) SELECT Col1中,Col1中 FROM Person.Contact

你必须确保在插入查询列的数量应该是相同的,只是如果你有Select语句任何标识栏。

在你的情况下,Select语句中缺少“UserQuizID”。

+0

if(Dr.Read()) { m = Dr [0] .ToString(); max = Convert.ToInt16(m); max = max + 1; } con.Close(); con.Dispose(); Dr.RoseClose(); Dr.Dispose(); cmd.Cancel(); cmd.Dispose(); m = max.ToString(); – user1661868 2013-02-21 09:08:05

+0

你用它做什么?是否为UserQuizId?如果它不是主键? – 2013-02-21 09:15:52