回 帖 发 新 帖 刷新版面

主题:求各位大师帮忙看下我的SQL哪里错了

求各位大师帮忙看下我的SQL哪里错了

vb6中使用以下语句出错,但去掉前面的"insert into DLs(DLID)"就正常了,字段"DLID"数据类型都为INT长度为4,求各位大师帮忙看下

Call openRs("insert into DLs(DLID) Select UFDATA_111_2008..DispatchLists.DLID,UFDATA_111_2008..DispatchLists.cInvCode,UFDATA_111_2008..DispatchLists.cInvName,UFDATA_111_2008..DispatchLists.iQuantity,UFDATA_111_2008..Warehouse.cWhName,UFDATA_111_2008..RdRecord.cCode,UFDATA_111_2008..Inventory.iInvWeight,UFDATA_111_2008..Inventory.iVolume from UFDATA_111_2008..DispatchLists Inner join UFDATA_111_2008..DispatchList on UFDATA_111_2008..DispatchList.DLID = UFDATA_111_2008..DispatchLists.DLID Left outer Join UFDATA_111_2008..Warehouse on UFDATA_111_2008..DispatchLists.cWhCode = UFDATA_111_2008..Warehouse.cWhCode Left outer join UFDATA_111_2008..Inventory on  UFDATA_111_2008..DispatchLists.cInvCode = UFDATA_111_2008..Inventory.cInvCode Left outer join UFDATA_111_2008..RdRecord on (UFDATA_111_2008..RdRecord.cBusCode = UFDATA_111_2008..DispatchList.cDLCode and UFDATA_111_2008..RdRecord.cWhCode = UFDATA_111_2008..DispatchLists.cWhCode) where UFDATA_111_2008..DispatchList.DLID='" & iUDLID & "'")

回复列表 (共2个回复)

沙发



搞清楚了,由于SQL语句过长,VB6解析不了,打算把SQL语句拆分开了执行,但是不知道怎么拆啊,打算用insert+update,不过不知道update这句该怎么写

原来的SQL语句:
Call openRs("insert into DLs(DLID) Select UFDATA_111_2008..DispatchLists.DLID,UFDATA_111_2008..DispatchLists.cInvCode,UFDATA_111_2008..DispatchLists.cInvName,UFDATA_111_2008..DispatchLists.iQuantity,UFDATA_111_2008..Warehouse.cWhName,UFDATA_111_2008..RdRecord.cCode,UFDATA_111_2008..Inventory.iInvWeight,UFDATA_111_2008..Inventory.iVolume from UFDATA_111_2008..DispatchLists Inner join UFDATA_111_2008..DispatchList on UFDATA_111_2008..DispatchList.DLID = UFDATA_111_2008..DispatchLists.DLID Left outer Join UFDATA_111_2008..Warehouse on UFDATA_111_2008..DispatchLists.cWhCode = UFDATA_111_2008..Warehouse.cWhCode Left outer join UFDATA_111_2008..Inventory on  UFDATA_111_2008..DispatchLists.cInvCode = UFDATA_111_2008..Inventory.cInvCode Left outer join UFDATA_111_2008..RdRecord on (UFDATA_111_2008..RdRecord.cBusCode = UFDATA_111_2008..DispatchList.cDLCode and UFDATA_111_2008..RdRecord.cWhCode = UFDATA_111_2008..DispatchLists.cWhCode) where UFDATA_111_2008..DispatchList.DLID='" & iUDLID & "'")

拆分后的SQL语句(少写入了两个字段,打算用update补上这两个字段):
Call openRs("insert into DLs(DLID,cCHBM,cCHMC,fYFSL,cSCC,cDBDH) Select UFDATA_111_2008..DispatchLists.DLID,UFDATA_111_2008..DispatchLists.cInvCode,UFDATA_111_2008..DispatchLists.cInvName,UFDATA_111_2008..DispatchLists.iQuantity,UFDATA_111_2008..Warehouse.cWhName,UFDATA_111_2008..RdRecord.cCode from UFDATA_111_2008..DispatchLists Inner join UFDATA_111_2008..DispatchList on UFDATA_111_2008..DispatchList.DLID = UFDATA_111_2008..DispatchLists.DLID Left outer Join UFDATA_111_2008..Warehouse on UFDATA_111_2008..DispatchLists.cWhCode = UFDATA_111_2008..Warehouse.cWhCode Left outer join UFDATA_111_2008..Inventory on  UFDATA_111_2008..DispatchLists.cInvCode = UFDATA_111_2008..Inventory.cInvCode Left outer join UFDATA_111_2008..RdRecord on (UFDATA_111_2008..RdRecord.cBusCode = UFDATA_111_2008..DispatchList.cDLCode and UFDATA_111_2008..RdRecord.cWhCode = UFDATA_111_2008..DispatchLists.cWhCode) where UFDATA_111_2008..DispatchList.DLID='" & iUDLID & "'")

然后就不知道该怎么办了

板凳

你牛,这么多个SQL操作被你一条字符串搞定了,哈哈,楼主提醒我才发现这是一条字符串,还能被SQL正确执行:

("insert into DLs(DLID,cCHBM,cCHMC,fYFSL,cSCC,cDBDH) Select UFDATA_111_2008..DispatchLists.DLID,UFDATA_111_2008..DispatchLists.cInvCode,UFDATA_111_2008..DispatchLists.cInvName,UFDATA_111_2008..DispatchLists.iQuantity,UFDATA_111_2008..Warehouse.cWhName,UFDATA_111_2008..RdRecord.cCode from UFDATA_111_2008..DispatchLists Inner join UFDATA_111_2008..DispatchList on UFDATA_111_2008..DispatchList.DLID = UFDATA_111_2008..DispatchLists.DLID Left outer Join UFDATA_111_2008..Warehouse on UFDATA_111_2008..DispatchLists.cWhCode = UFDATA_111_2008..Warehouse.cWhCode Left outer join UFDATA_111_2008..Inventory on  UFDATA_111_2008..DispatchLists.cInvCode = UFDATA_111_2008..Inventory.cInvCode Left outer join UFDATA_111_2008..RdRecord on (UFDATA_111_2008..RdRecord.cBusCode = UFDATA_111_2008..DispatchList.cDLCode and UFDATA_111_2008..RdRecord.cWhCode = UFDATA_111_2008..DispatchLists.cWhCode) where UFDATA_111_2008..DispatchList.DLID='" & iUDLID & "'")

我来回复

您尚未登录,请登录后再回复。点此登录或注册