读书人

使用StringBuilder拼接sql语句时出现缺

发布时间: 2012-05-10 16:02:39 作者: rapoo

使用StringBuilder拼接sql语句时出现缺少关键字FROM
sql.Append("SELECT")
sql.Append(" E.EMP_NAME,")
sql.Append(" E.EMP_LB,")
sql.Append(" D.BM_NAME,")
sql.Append(" K.WORK,")
sql.Append(" K.ZW,")
sql.Append(" K.CLASS_TIME,")
sql.Append(" K.RATED_P_ONE,")
sql.Append(" YL.Z,")
sql.Append(" K.RATED_P_CONSTRUS,")
sql.Append(" JS.X,")
sql.Append(" K.RATED_P_SCI,")
sql.Append(" KY.C,")
sql.Append(" G.V ,")
sql.Append(" EL.B")
sql.Append("FROM EMP E,EMP_INFO D,KIND_EMP K,")
sql.Append(" (SELECT SUM(XSTJ) Z FROM FIRST1 WHERE EMPNO=:EMPNO AND SCDATE=:SCDATE) YL,")
sql.Append(" (SELECT SUM(JCYJ) X FROM KY_Z WHERE EMPNO=:EMPNO AND JN=:SCDATE) JS,")
sql.Append(" (SELECT SUM(DF) C FROM Y WHERE EMPNO=:EMPNO AND DJND=:SCDATE) KY,")
sql.Append(" (SELECT SUM(FZ) V FROM GL WHERE EMPNO=:EMPNO AND ND=:SCDATE) G,")
sql.Append(" (SELECT SUM (CJ) B FROM E WHERE EMPNO=:EMPNO AND ND=:SCDATE) EL")
sql.Append("WHERE E.EMP_NO=:EMPNO ")
sql.Append("AND E.EMP_BM=D.BM_NO(+)")
sql.Append("AND E.EMP_LB=K.EMP_K(+)")

语句在oracle中可以执行。里面不能嵌套SELECT语句么,还是我语句写错了

[解决办法]
sql.Append("FROM EMP E,EMP_INFO D,KIND_EMP K,")

sql.Append(" FROM EMP E,EMP_INFO D,KIND_EMP K,")
加空格

sql.Append(" WHERE E.EMP_NO=:EMPNO ")
sql.Append(" AND E.EMP_BM=D.BM_NO(+)")
sql.Append(" AND E.EMP_LB=K.EMP_K(+)")

你打印出sql.ToString()就可以看到是否合法了
[解决办法]
肯定是空格的问题

读书人网 >VB Dotnet

热点推荐