请求 SQL 语句中缺少分号



我正在尝试找出此错误消息:

SQL 语句末尾缺少分号。

我现在使用 MS Access 作为数据库,我有 2 个表:用户和import_users_temp_excel。我想将数据从MS Excel导入import_users_temp_excel,然后将新注册表合并或复制到表"用户"中。基本上,我想避免重复到"用户"表中。这是我的代码:

Dim sqlquery1 As New OleDbCommand
sqlquery1.Connection = con
sqlquery1.CommandType = CommandType.Text
sqlquery1.CommandText = "insert into users ([employeeID], [username], [middlename], [lastname], [level], [ADDR1], [ADDR2], [city], [state], [zip], [warehouse_assig], [timezone], [branchM], [contactinfo], [email], [altemail], [Source]) values(@employeeID, @username, @middlename, @lastname, @level, @ADDR1, @ADDR2, @city, @state, @zip, @warehouse_assig, @timezone, @branchM, @contactinfo, @email, @altemail, @Source)
                         select distinct * from import_users_temp_excel;"

但是由于某种原因,我收到了此错误"缺少分号"。我正在使用Visual Studio Community 2015。

正如注释所提到的,您的INSERT和您的SELECT是两个不同的语句,因此它们都需要分号来终止它们。

试试这个——

        sqlquery1.CommandText = "insert into users ([employeeID], [username], [middlename], [lastname], [level], [ADDR1], [ADDR2], [city], [state], [zip], [warehouse_assig], [timezone], [branchM], [contactinfo], [email], [altemail], [Source]) 
                             values (@employeeID, @username, @middlename, @lastname, @level, @ADDR1, @ADDR2, @city, @state, @zip, @warehouse_assig, @timezone, @branchM, @contactinfo, @email, @altemail, @Source);
                             select distinct * from import_users_temp_excel;"
Dim strsql As String = "insert into users SELECT * FROM import_users_temp_excel WHERE  import_users_temp_excel.employeeID Not IN (SELECT employeeID from users)"
Dim command1 As New OleDbCommand
command1 = New OleDbCommand(strsql, con)
command1.ExecuteNonQuery()
con.Close()
loaddata()

最新更新