Vb.net 插入选择执行的查询,但未将数据插入数据库

Vb.net 插入选择执行的查询,但未将数据插入数据库,vb.net,Vb.net,您好,我正在处理此查询,以便将现有记录添加到同一数据库中,但指定了不同的数据。这就是问题所在 Public Sub autoEnroll_by_Semester() 'this is the connection string which is 'in the enrollment_conn variable Data Source=192.168.254.108,1433;Network Library=DBMSSOCN;Initial Catalog = GEARS;User

您好,我正在处理此查询,以便将现有记录添加到同一数据库中,但指定了不同的数据。这就是问题所在

Public Sub autoEnroll_by_Semester()
    'this is the connection string which is
    'in the enrollment_conn variable Data Source=192.168.254.108,1433;Network Library=DBMSSOCN;Initial Catalog = GEARS;User ID =user123;Password = user123"

    Try
        If MsgBox("Do you want to proceed with auto enrolling the records?" & Chr(13) & Chr(10) & "Please double check before proceeding!", vbInformation + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
            enrollment_conn.Open()
            command = New SqlCommand("INSERT INTO dbo.Enrollees(RegistrationID,Track,Strand,Specialization_TVL,Grade,Section,Semester,School_Year,Transferee,Transferee_School,Transferee_Address,Transferred,Transfer_Type,Establishment_School,Date_Of_Transfer,Dropped,Date_Dropped,Regular,Gen_Average,Enrolled,Date_Enrolled) " & _
                                     "SELECT RegistrationID,Track,Strand,Specialization_TVL,Grade,Section,'" & Auto_Enroll_Semester.Specify_Cbx_semester.Text & "',School_Year,Transferee,Transferee_School,Transferee_Address,Transferred,Transfer_Type,Establishment_School,Date_Of_Transfer,Dropped,Date_Dropped,Regular,Gen_Average,Enrolled,'" & Auto_Enroll_Semester.Specify_Date_enrolled.Text & "'" & _
                                     " FROM dbo.Enrollees " & _
                                     "WHERE Enrolled='Yes' AND Semester='" & Auto_Enroll_Semester.Select_Cbx_semester.Text & "' AND School_Year='" & Auto_Enroll_Semester.Select_Cbx_schoolyear.Text & "' AND Section='Einstein'", enrollment_conn)
            command.ExecuteNonQuery()
            MsgBox("New records have been inserted.. Please check enrollees list", vbInformation)
        End If
    Catch ex As Exception
        MsgBox(ex.Message, vbExclamation)
    Finally
        command.Parameters.Clear()
        enrollment_conn.Close()
    End Try
End Sub
执行查询后,它会执行,但没有新记录。。我的问题是,当您使用控件作为值的基础时,如何使其工作或不插入记录?还有其他可能的方法吗?谢谢

这是trace.writeline的结果:
在dbo中插入注册者(注册ID、轨道、Strand、专业化、年级、部门、学期、学年、受让人、受让人学校、受让人地址、转让、转让类型、开办学校、转让日期、放弃日期、放弃日期、常规、一般、注册、注册日期、注册日期、年级)选择注册ID、轨道、Strand、专业化、年级,第12节,学年,受让人,受让人,受让人学校,受让人地址,转让人,转让类型,成立学校,转让日期,放弃,放弃日期,普通,普通,普通,2018年10月30日,从dbo注册。注册入学者:'Yes'和学期:'11',学校:'2018-2019'和章节:'Einstein'

问题在于您的SQL语句。第一个问题是有问题的——这没有多大意义。您说,“我希望您在中放入一个新记录,并提供这些字段的值”,但实际上您没有提供值

i、 e

应写明:

INSERT INTO dbo.Enrollees(...) VALUES (...);
换句话说,要使insert语句真正有意义,必须提供记录对所有这些字段的实际值


至于SQL的第二部分查询,它看起来不错。只需将这些值添加到上面的INSERT INTO语句中。请记住也添加分号。

它现在正在工作。。。这个问题是一个逻辑错误。。where EXTERM中的值无效,可能导致select语句无法选择记录。。谢谢大家的帮助。。此案例现已结束。

您使用的是什么数据库管理系统?请展示您尝试过的内容,以便我们提供帮助。现在,从这个查询中,您没有使用参数,IMHO您应该是…嗨,我正在使用T-SQL作为我的数据库..我尝试将表A中的记录插入到表A中,其中有两列具有不同的值,因此插入后会有所不同。在上面的查询中,我包含了选择数据的控件。当我试图执行时,什么也没有发生,当我查看表时,没有插入任何数据。如果我使用MSSMS运行该查询,它将执行并返回行。我只是想在VB.NET中执行它。顺便说一句,我使用的是VB.NET 2010Oh抱歉,SSMS是DBMSSMS也不是数据库。SQL Server是数据库。顾名思义,SQLServerManagementStudio是一个用于管理SQLServer数据库的应用程序。向我们展示用于连接数据库并执行此SQL代码的VB代码。其中包括您使用的连接字符串。我的第一个猜测是,这是一个本地MDF数据文件,您要么在错误的数据库中查找,要么在错误的时间查找正确的数据库。这是一个非常普遍的问题。不过我们不应该猜。您需要提供所有相关信息。感谢您回答此问题,但INSERT INTO SELECT语句不需要VALUES关键字。
INSERT INTO dbo.Enrollees(...) VALUES (...);