我正在尝试将一些现有代码从构造的sql字符串更改为存储过程。这是错误。
用于Visual FoxPro的Microsoft OLE DB提供程序错误“80040e14”
语法错误。
我已经检查了连接细节,它们很好,我检查了参数值,它们没问题。
枚举:adVarChar值= 200; adInteger值= 3; adParamInput value = 1; adBoolean value = 11' 完整列表http://www.w3schools.com/ado/met_comm_createparameter.asp
Dim adoCMD
Dim adoRS
Dim strSQL
Dim lRecordsAffected
strSQL = "insert into job account,reference,priority,colldate,deldate,onby,timestart,timeend,delname,deladd1,deladd2,deladd3,deltown,delcounty,delpostcode,goods,wgt,qty,plt,vol,haz,adr,adrpack,taillift,rigid,ringforbook,notes,phoneno,userid,confirmed,processed,adrname,adrchem,timestartc,timeendc,confno,jobno,fplt,hplt,qplt,coll1,coll2,coll3,coll4,coll5,collp,colname,printed,cheps,countryd,countryc,uniqueid,co2,carbon,am,pm,instructs,quote,validdel,validcol values(?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?)"
Set adoCMD = Server.CreateObject("ADODB.Command")
With adoCMD
.ActiveConnection = conn
.CommandType = 1
.CommandText = strSQL
.parameters.Append .CreateParameter("account", 200, 1, 16 , cCustcode) '200 adVarChar'
.parameters.Append .CreateParameter("reference", 200, 1, 40 , cReference)
.parameters.Append .CreateParameter("priority", 200, 1, 3 , cPriority)
.parameters.Append .CreateParameter("colldate", 200 ,1 , 8 , cCollDate)
.parameters.Append .CreateParameter("deldate", 200, 1, 8 , cDelDate)
.parameters.Append .CreateParameter("onby", 3, 1, 4 , nOnby)
.parameters.Append .CreateParameter("timestart", 200, 1, 4 , cTimestart)
.parameters.Append .CreateParameter("timeend", 200, 1, 4 , cTimeend)
.parameters.Append .CreateParameter("delname", 200, 1, 40 , cDelname)
.parameters.Append .CreateParameter("deladd1", 200, 1, 40 , cAdd1)
.parameters.Append .CreateParameter("deladd2", 200, 1, 40 , cAdd2)
.parameters.Append .CreateParameter("deladd3", 200, 1, 40 , cAdd3)
.parameters.Append .CreateParameter("deltown", 200, 1, 40 , cAdd4)
.parameters.Append .CreateParameter("delcounty", 200, 1, 40 , cAdd5)
.parameters.Append .CreateParameter("delpostcode", 200, 1, 10 , cPostcode)
.parameters.Append .CreateParameter("goods", 200, 1, 40 , cGoods)
.parameters.Append .CreateParameter("wgt", 200, 1, 4 , nWgt)
.parameters.Append .CreateParameter("qty", 200, 1, 4 , nQty)
.parameters.Append .CreateParameter("plt", 200, 1, 4 , nPlt)
.parameters.Append .CreateParameter("vol", 200, 1, 4 , nVol)
.parameters.Append .CreateParameter("haz", 200, 1, 4 , nHaz)
.parameters.Append .CreateParameter("adr", 200, 1, 10 , cadr)
.parameters.Append .CreateParameter("adrpack", 200, 1, 10 , cAdrpack)
.parameters.Append .CreateParameter("taillift", 200, 1, 4 , nTl)
.parameters.Append .CreateParameter("rigid", 200, 1, 4 , nRi)
.parameters.Append .CreateParameter("ringforbook", 200, 1, 4 , nBook)
.parameters.Append .CreateParameter("notes", 200, 1, 250 , cNotes)
.parameters.Append .CreateParameter("phoneno", 200, 1, 30 , cPhoneNo)
.parameters.Append .CreateParameter("userid", 200, 1, 4 , session("userid"))
.parameters.Append .CreateParameter("confirmed", 200, 1, 4 ,0)
.parameters.Append .CreateParameter("processed", 200, 1, 4 ,0)
.parameters.Append .CreateParameter("adrname", 200, 1, 30 ,cAdrname)
.parameters.Append .CreateParameter("adrchem", 200, 1, 10 ,cAdrchem)
.parameters.Append .CreateParameter("timestartc", 200, 1, 4 ,ctimestartcol)
.parameters.Append .CreateParameter("timeendc", 200, 1, 4 ,ctimeendcol)
.parameters.Append .CreateParameter("confno", 200, 1, 4 ,0)
.parameters.Append .CreateParameter("jobno", 200, 1, 4 ,0)
.parameters.Append .CreateParameter("fplt", 200, 1, 4 , nfPlt)
.parameters.Append .CreateParameter("hplt", 200, 1, 4 , nhPlt)
.parameters.Append .CreateParameter("qplt", 200, 1, 4 , nqPlt)
.parameters.Append .CreateParameter("coll1", 200, 1, 30 ,cColl1)
.parameters.Append .CreateParameter("coll2", 200, 1, 30 ,cColl2)
.parameters.Append .CreateParameter("coll3", 200, 1, 30 ,cColl3)
.parameters.Append .CreateParameter("coll4", 200, 1, 30 ,cColl4)
.parameters.Append .CreateParameter("coll5", 200, 1, 30 ,cColl5)
.parameters.Append .CreateParameter("collp", 200, 1, 30 ,cCollp)
.parameters.Append .CreateParameter("colname", 200, 1, 30 ,cColname)
.parameters.Append .CreateParameter("printed", 11, 1, 1 ,false)
.parameters.Append .CreateParameter("cheps", 200, 1, 4 ,nCheps)
.parameters.Append .CreateParameter("countryd", 200, 1, 30 ,ccountryd)
.parameters.Append .CreateParameter("countryc", 200, 1, 30 ,ccountryc)
.parameters.Append .CreateParameter("uniqueid", 200, 1, 30 ,cUniqueId)
.parameters.Append .CreateParameter("co2", 200, 1, 10 , request.form("cC02"))
.parameters.Append .CreateParameter("carbon", 200, 1, 10 , request.form("cCarbon"))
.parameters.Append .CreateParameter("am", 200, 1, 4 ,nAM)
.parameters.Append .CreateParameter("pm", 200, 1, 4 ,nPM)
.parameters.Append .CreateParameter("instructs", 200, 1, 50 ,cSpecialInstruct)
.parameters.Append .CreateParameter("quote", 200, 1, 59 , trim(cQuoteId))
.parameters.Append .CreateParameter("validdel", 11, 1, 1 , lValidDel)
.parameters.Append .CreateParameter("validcol", 11, 1, 1 , lValidCol)
.Execute ------> this line errors
end with
答案 0 :(得分:1)
您缺少字段列表的括号,因此语法错误。
您需要做什么:
strSQL = "insert into job (account, ...,validcol) values (?, ..., ?)"