java sql同时执行两条用分隔符隔开的sql连接几次数据库_JDBC 一个链接执行两条语句出错...

本文介绍了一种通过执行两次SQL查询并将结果组装成JSON数组的方法。该方法首先从WORK表中获取数据,然后从REVIEW表中获取相关数据,最终将两组数据合并输出。但在执行过程中遇到了关于列'r_number'未找到的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想在一个新为次发人制通业个到也和一以设近打了基过参数中两次执行sql语句 得到结果凭借成json数组 但是报错 无法操作 请高手来看一分浏代刚的学过互解久点维数数请曾房总题屏断果如以气。泉公一实切式时带近享览码开时会进。,后,护据一下

函数代码:

public JSONArray check(work work) throws Exception {

try {

String sql = "select e_name,w_date,w_time,w_score,w_title,w_content,achieve1,achieve2,achieve3,achieve4 FROM WORK where w_number=?";

int k=work.getw_number();

pstmt = conn.prepareStatement(sql);// 实例化操作

pstmt.setInt(1, work.getw_number());

ResultSet rSet = pstmt.executeQuery();// 取得结果

JSONArray array = new JSONArray();//定义jsonarray

ResultSetMetaData metaData = rSet.getMetaData();

int columnCount= metaData.getColumnCount();

while (rSet.next()){

JSONObject jsonObj = new JSONObject();

//遍历ResultSetMetaData数据每一列

for(int i = 1; i <= columnCount;i++)

{

String columnName = metaData.getColumnLabel(i);

String value =rSet.getString(columnName);

jsonObj.put(columnName, value);

}

array.add(jsonObj);

}

System.out.println(array.toString()+"checkhoutai1");

String sql2 = "select r_number,r_content,r_employee,r_time FROM REVIEW where w_number=? ";

pstmt2 = conn.prepareStatement(sql2);// 实例化操作

pstmt2.setInt(1, k);

ResultSet rSet2 = pstmt2.executeQuery();// 取得结果

ResultSetMetaData metaData2 = rSet2.getMetaData();

int columnCount2= metaData2.getColumnCount();

while (rSet2.next())

{

JSONObject jsonObj = new JSONObject();

//遍历ResultSetMetaData数据每一列

for(int i = 1; i <= columnCount2;i++)

{

String columnName = metaData2.getColumnLabel(i);

String value =rSet2.getString(columnName);

jsonObj.put(columnName, value);

}

array.add(jsonObj);

}

System.out.println(array.toString()+"checkhoutai");

return array;

} catch (Exception e) {

throw e;

} finally {

// 关闭操作

if (pstmt2 != null) {

try {

pstmt2.close();

} catch (Exception e) {

throw e;

}

}

}

}

数据库为调代求学功解宗维如请框总行断随以移泉动实mysql 连接数据库的参数单另做在一个.jav微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就业大经a文件中

连接数据库:

/**

*功能 定义数据库操作类

*/

package com.zhisland.db;

import java.sql.Connection;

import java.sql.DriverManager;

public class DatabaseConnection {

//定义数据库驱动程序

private static final String DBDRIVER="com.mysql.jdbc.Driver";

//数据库连接地址

private static final String DBURL="jdbc:mysql://XXXXXX/zhisland";//company表示数据库

private static final String DBUSER="root";

private static final String DBPASS="XXXXXX";

private Connection connection=null;

public DatabaseConnection() throws Exception{

try{

//数据库操作可能出现异常

Class.forName(DBDRIVER);

connection=DriverManager.getConnection(DBURL,DBUSER,DBPASS);

}catch(Exception exception ){

throw exception;

} finally {

}

}

public Connection getConnection(){

return connection;

}

public void close() throws Exception{

if(connection!=null){

try {

connection.close();

} catch (Exception e) {

throw e;

}

}

}

}

报错信息:

java.sql.SQLException: Column 'r_number' not found.

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)

at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1166)

at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5732)

at com.zhisland.dao.DAOImpI.check(DAOImpI.java:324)

at com.zhisland.dao.proxy.DAOProxy.check(DAOProxy.java:98)

at com.zhisland.servlet.checkwork.doPost(checkwork.java:52)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1368)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值