sql update报错:参数不足,期待是1
UPDATE[Sheet1$]SET元件名='二极管',规格='SS34(MBRS340TT3),SMC,"FormosaMS"'WHERE元件编号='M01-34000...
UPDATE [Sheet1$] SET 元件名 = '二极管', 规格 = 'SS34(MBRS340TT3),SMC,"Formosa MS"' WHERE 元件编号 = 'M01-34000R-01'
如何解决?个人猜想是不是set cell里面的值有双引号的原因? 如果是如何解决? 展开
如何解决?个人猜想是不是set cell里面的值有双引号的原因? 如果是如何解决? 展开
2个回答
展开全部
你怀疑是双引号的问题,就先把那个条件去掉看看会不会报错:
UPDATE [Sheet1$] SET 元件名 = '二极管', 规格 = 'SS34(MBRS340TT3),SMC' WHERE 元件编号 = 'M01-34000R-01'
如果还会报错则说明不是双引号的问题,否则则是,用排除法找问题。
UPDATE [Sheet1$] SET 元件名 = '二极管', 规格 = 'SS34(MBRS340TT3),SMC' WHERE 元件编号 = 'M01-34000R-01'
如果还会报错则说明不是双引号的问题,否则则是,用排除法找问题。
追问
引号问题已经排除,
sDsn =ODBC;DRIVER={%s};MODE=READWRITE;READONLY=FALSE;DSN=' ';DBQ=%s", sDriver, sExcelFile
database.open(NULL, false, false, sDsn)
temp = "SQL...
database.ExecuteSQL(temp);
追答
1.sDsn =ODBC;DRIVER={%s};MODE=READWRITE;READONLY=FALSE;DSN=' ';DBQ=%s", sDriver, sExcelFile
2.database.open(NULL, false, false, sDsn)
3.temp = "SQL...
4.database.ExecuteSQL(temp);
个人感觉不是你SQL语句的问题,应当是你调用函数的问题,你把1。2.。3。4条逐一执行试试,先执行第一条,再执行12条,再执行123,再执行1234,就可以确定哪一句的问题
展开全部
不是双引号的原因,是 表名 参数没有传进来吧。
追问
UPDATE [Sheet1$] 这个已经把table传进来了,
打开的方式?sSql "DRIVER={%s};DSN='';MODE=READWRITE;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile); database.OpenEx(sSql,CDatabase::noOdbcDialog) )
追答
把 [Sheet1$] 改成要传进来的表名试试,如果能执行,就是这个参数的问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询