SQL 报错:ArrayList 类型参数无法用于 in 操作符 - 解决方案
这句SQL报错是因为在参数中使用了ArrayList,而SQL语句中的in操作符只能接收一个字符串或一个数组,无法接收ArrayList类型的参数。\n\n要修改这个报错,可以将ArrayList类型的参数转换为字符串或数组,然后再传入SQL语句中。具体方法根据使用的编程语言和数据库类型而定。\n\n例如,如果使用的是Java语言和MySQL数据库,可以将ArrayList类型的参数转换为逗号分隔的字符串,然后将这个字符串作为一个参数传入SQL语句中。\n\n修改后的SQL语句如下所示:\n\nPreparing: SELECT COUNT(1) FROM (select ID_,REF_ID_,PARENT_ID_,UPDATE_VERSION_,DATE_IN_,WORK_ID_,NAME_,POST_NAME_,POST_CODE_,SLY_GRADE_,COMP_CODE,COMP_NAME,DEPT_NAME_,DEPT_ID_,LEAVE_OR_TRANSFER_,DATE_OUT_,TRANSFER_TIME_,LEAVE_INTERVIEW_ID,REASON_FOR_LEAVING_,HANDLED_BY_,TELEPHONE_,EMAIL,CONTACT_ADDRESS,DELETED_,INST_ID_,INST_STATUS_,ACT_INST_ID_,BUS_KEY_,TENANT_ID_,CREATE_TIME_,CREATE_BY_,UPDATE_BY_,UPDATE_TIME_,CREATE_DEP_ID_,COMPANY_ID_,CREATE_BY_NAME,UPDATE_BY_NAME,M_WORK_ID,CHECK_COMP,HANDOVER_PERSON_,REVIEWED_BY_,SIGN_COMP_CODE,SIGN_COMP_NAME,HANDOVER_PERSON_NAME,REVIEWED_BY_NAME,IDENTITY_ID,SigningAgent,SigningAgentName from w_work_handover_basic WHERE TENANT_ID_ in ('1') AND DELETED_ = ? and DELETED_ = 0 and (COMP_CODE in (?) or SIGN_COMP_CODE in (?)) ORDER BY ID_ DESC) TOTAL \n\nParameters: 0(String), "C0014,D38A070100,C0015,D0013A00000,D0012A00000,1623861300952780801,C0000,D00A230000,D00A002800,D00A002900,D00A001800,D00A113500,D00A001000,D0010A00000,D0010A00001,D0011A00000,D00A000100,D00A084300"(String), "C0014,D38A070100,C0015,D0013A00000,D0012A00000,1623861300952780801,C0000,D00A230000,D00A002800,D00A002900,D00A001800,D00A113500,D00A001000,D0010A00000,D0010A00001,D0011A00000,D00A000100,D00A084300"(String)
原文地址: https://www.cveoy.top/t/topic/qext 著作权归作者所有。请勿转载和采集!