con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _
                    ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _
                    ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')"运行时:实时错误 '-2147217900 (80040e14)':
ora-00917:缺少逗号我程序中要插入大量数据,执行中已插入部分数据,中间突然出现这个错误。请问高手们这是为什么。指点指点 谢谢啊
我正迷茫中要是真的缺少逗号 怎么会有部分数据可以插入。

解决方案 »

  1.   

    奇怪,这语句能运行的么?照说' 号在vb里是注释符,应该不能正常运行的.
    试试用chr(39)代替'吧
      

  2.   

    在SQL语句里成对的'是可以用的
    汗,2星啊
      

  3.   

    values后面好象缺个空格
    楼主好象是做文献管理方面的软件,楼主已经是这方面的老鸟了,相信最终还是他自己解决的,不过我不明白他的字段为什么全是字符型的,字符型的才需要单引号赋值,数值型的不用符号,日期型的用#,希望对楼主有所启发
      

  4.   

    (UUB的VB格式只是在太差,我手工做着色)这是你的代码,由于下面是注释,SQL 语句不完整
    ----------------------------------------
    con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _ 
                ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _ 
                ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')" 
    --------------------这是修改正确的代码
    --------------------
    con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _
                & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _
                & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')"
    --------------------
      

  5.   


    ' & author & "'
    改成
    '" & author & "'
      

  6.   

    在vb中
    debug.print "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _ 
                        ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _ 
                        ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')"看看是什么?就是因为这样我才觉得奇怪.
      

  7.   

    这样写的SQL语句 看了就头痛 
    给你看写我写的   
    哪有错误 一下子就能找到了    SQL = "insert into question(mc,lx,da,tp,fs,tm) values("
        SQL = SQL & "'" & Trim(cmbMC & " ") & "',"
        SQL = SQL & "'" & Trim(cmbLX & " ") & "',"
        SQL = SQL & "'" & Trim(txtDA & " ") & "',"
        SQL = SQL & "'" & Trim(txtTP & " ") & "',"
        SQL = SQL & "'" & Trim(txtFS & " ") & "',"
        SQL = SQL & "'" & Replace(RTrim(txtTM & " "), "'", "''") & "')"
      

  8.   

    单引号问题了,肯定是插入的字符串中有英文单引号
    用REPLACE函数转换,将要插入中的字符的单引号转换成
    两个单引号
      

  9.   

    con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _ 
                        ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _ 
                        ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')"去掉这两个学学这个,结构化要好
      

  10.   

    con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _ 
                        ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _ 
                        ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')" 去掉这两个 
      

  11.   

    con.Execute "insert into undel_pgm(author,docname,pgmpath,docid,flname,referauthor,referdocname,referdocid,flag) values('" _ 
                        ' & author & "','" & doc_name & "','" & pgm_path & "','" & doc_id & "','" & Trim(rs_clipinfo("clipname")) _ 
                        ' & "','" & Trim(rs_doc("inputperson")) & "','" & Trim(rs_doc("doctitle")) & "','" & CInt(Trim(rs_usedclip("docid"))) & "','被引用')" 去掉这两个