Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 插入数据库时语法不正确_Sql_Excel_Vba - Fatal编程技术网

Sql 插入数据库时语法不正确

Sql 插入数据库时语法不正确,sql,excel,vba,Sql,Excel,Vba,我正在使用EXCEL宏/vba将xls工作表中的数据插入SQL数据库 谁能解释一下为什么我会收到这个错误消息 “OPEN”附近的语法不正确 我运行的代码是insert语句 Dim insert As String insert = "INSERT INTO dbo.HEADER (plant, taskno, tskstatus, category, opened, openedby, title) VALUES

我正在使用EXCEL宏/vba将xls工作表中的数据插入SQL数据库

谁能解释一下为什么我会收到这个错误消息

“OPEN”附近的语法不正确

我运行的代码是insert语句

 Dim insert As String

 insert = "INSERT INTO dbo.HEADER 
    (plant, 
    taskno, 
    tskstatus, 
    category, 
    opened, 
    openedby, 
    title) 
 VALUES 
    ( 'UK', 
    (select Max(taskno) AS count from HEADER)+ 1), 
    'open', 
    'RFSA', 
    CONVERT(datetime,'" & strdate & "',103), 
    '" & UserId & "', 
    '" & strtitle & "')"
代码将以下内容插入到SQL数据库中


“OPEN”只是我试图插入到column中的一个值。

您想使用
插入。选择
语法:

INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) 
    SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', 
           CONVERT(datetime,'" & strdate & "',103), 
           '" & UserId & "', 
           '" & strtitle & "'
    from Header;

但是,因为您使用的是SQL Server,所以希望
taskno
成为
identity
列。这将在每次插入时自动增加它。

要使用
插入。选择
语法:

INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) 
    SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', 
           CONVERT(datetime,'" & strdate & "',103), 
           '" & UserId & "', 
           '" & strtitle & "'
    from Header;

但是,因为您使用的是SQL Server,所以希望
taskno
成为
identity
列。这将在每次插入时自动增加它。

要使用
插入。选择
语法:

INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) 
    SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', 
           CONVERT(datetime,'" & strdate & "',103), 
           '" & UserId & "', 
           '" & strtitle & "'
    from Header;

但是,因为您使用的是SQL Server,所以希望
taskno
成为
identity
列。这将在每次插入时自动增加它。

要使用
插入。选择
语法:

INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) 
    SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', 
           CONVERT(datetime,'" & strdate & "',103), 
           '" & UserId & "', 
           '" & strtitle & "'
    from Header;

但是,因为您使用的是SQL Server,所以希望
taskno
成为
identity
列。这将在每次插入时自动递增。括号不匹配

insert = "INSERT INTO dbo.HEADER 
    (plant, 
    taskno, 
    tskstatus, 
    category, 
    opened, 
    openedby, 
    title) 
 VALUES 
    ( 'UK', 
    (select Max(taskno) AS count from HEADER)+ 1, 
    'open', 
    'RFSA', 
    CONVERT(datetime,'" & strdate & "',103), 
    '" & UserId & "', 
    '" & strtitle & "')"

你的括号不匹配

insert = "INSERT INTO dbo.HEADER 
    (plant, 
    taskno, 
    tskstatus, 
    category, 
    opened, 
    openedby, 
    title) 
 VALUES 
    ( 'UK', 
    (select Max(taskno) AS count from HEADER)+ 1, 
    'open', 
    'RFSA', 
    CONVERT(datetime,'" & strdate & "',103), 
    '" & UserId & "', 
    '" & strtitle & "')"

你的括号不匹配

insert = "INSERT INTO dbo.HEADER 
    (plant, 
    taskno, 
    tskstatus, 
    category, 
    opened, 
    openedby, 
    title) 
 VALUES 
    ( 'UK', 
    (select Max(taskno) AS count from HEADER)+ 1, 
    'open', 
    'RFSA', 
    CONVERT(datetime,'" & strdate & "',103), 
    '" & UserId & "', 
    '" & strtitle & "')"

你的括号不匹配

insert = "INSERT INTO dbo.HEADER 
    (plant, 
    taskno, 
    tskstatus, 
    category, 
    opened, 
    openedby, 
    title) 
 VALUES 
    ( 'UK', 
    (select Max(taskno) AS count from HEADER)+ 1, 
    'open', 
    'RFSA', 
    CONVERT(datetime,'" & strdate & "',103), 
    '" & UserId & "', 
    '" & strtitle & "')"