jdbc中同时执行两条查询sql语句,获得结果怎么写

jdbc中同时执行两条查询sql语句,获得结果怎么写,第1张

step1:构造连接

ClassforName("commysqljdbcDriver");

Connection con = DriverManagergetConnection("jdbc:mysql://127001:3306/db","root","123");

step2:构造语句

String sql = "select username,password from t_user where username=";

PreparedStatement stmt = conprepareStatement(sql);

stmtsetString(1, "zhangshan"); //给SQL的""(问号)传值。

step3:执行查询

ResultSet rs = stmtexecuteQuery(); //rs就是SQL查询语句返回的结果集

step4:处理结果(java 获取SQL查询语句返回的结果)

List list = new ArrayList();

//遍历结果集,这样写就可以了,就是一个循环,有多少条记录,这里就会循环多少次,

//一次就是一条记录,想像一下就像一个表的一条记录

//在这里可以做查询出来的数据处理,可以封装成对象之类的(就是把值给它)

if(rsnext()) { //遍历结果集,这样写就可以了

User u = new User();

String username = rsgetString("username");

String address = rsgetString("password ");

usetUsername(username);

usetAddress(address);

listadd(u);

}

//上面这个例子意思是,把每一条记录封装成了一个User对象,然后这些User对象都放存入到了一个list

step4:关闭连接等

读取mysql数据库文本字段的值方法如下:

publicvoidread(){

try{

//连接数据库

conn=JdbcUtils();

//查询resume字段,text格式

Stringsql="selectresumefromtestclobwhereid=1";

pt=conn(sql);

//执行查询并返回结果

rs=pt();

if(rsnext()){

//rs读取该字段

Readerreader=rs("resume");

//定义字符数组来存放读取值

charbuffer[]=newchar[1024];

while((readerread(buffer))!=-1){

//打印

Systemoutprintln(buffer);

}

readerclose();

}

}catch(Exceptione){

e();

}finally{

JdbcUtilsrelease(conn,pt,rs);

}

}

两种方式

第一步先执行这个if(rsnext()) 然后是下面的

第一种

rsget(0) 第一个字段

rsget(1)第二个字段

第二种

rsget('name') 此处的字段名称以实际为准

rsget('sex') 此处的字段名称以实际为准

USERS表是建立在那个Schema上的,把Schema的名字也加到SQL语句上,“select from SchemaUSERS”

下面是SQLSTATE=42704的解释。

SQL0204N "<名称>" 是一个未定义的名称。

解释:

此错误由以下之一引起:

o 未在数据库中定义由 "<名称>" 标识的对象。

o 在表上未定义由 "<名称>" 标识的数据分区。

o 正在使用某个数据类型。此错误可能是由于下

列原因而发生的:

- 如果 "<名称>"

是限定名称,则具有此名称的数据类型在数据

库中不存 在。

- 如果 "<名称>"

是非限定名称,则用户的函数路径不包含期望

的数据类 型所属于的模式。

- 该数据类型在创建时间戳记早于程序包绑定时

间的数据库中不存在(适用于静态语句)。

- 如果数据类型在 CREATE TYPE 语句的 UNDER

子句中,则该类型名可能与正定义的类型相同

,这 是无效的。

o 下列其中一项中正在引用某个函数:

- DROP FUNCTION 语句

- COMMENT ON FUNCTION 语句

- CREATE FUNCTION 语句的 SOURCE 子句

如果 "<名称>"

是限定名称,则函数不存在。如果

"<名称>"

是非限定名称,则当前函数路径的任何模式中

都不存 在

此名称的函数。注意,函数不能以

COALESCE、 NULLIF 或 VALUE

内置函数作为源函数。

o 在 CREATE SECURITY LABEL COMPONENT 语句中 UNDER

子句右边使用了名为“名称”的元素,但尚未

将该 元素定义为 ROOT

或者在其他某个元素下方(UNDER)。

o 下列其中一个标量函数指定了“名称”标识的

安全策略,但在数据库中未定义该安全策略。

- SECLABEL

- SECLABEL_TO_CHAR

- SECLABEL_BY_NAME

可为任何类型的数据库对象生成此返回码。

联合系统用户:在数据库中未定义由 "<名称>"

标识的对象,或者 "<名称>" 不是 DROP NICKNAME

语句中的昵称。

某些数据源不向 "<名称>"

提供适当的值。在这些情况下,消息标记将具有以下格

式: "OBJECT:<数据源>

TABLE/VIEW",指示指定数据源的实际值未知。

不能处理该语句。

用户响应:

确保在 SQL 语句中正确指定了对象名(包括任何必需

的限定符),并且它存在。

如果该名称表示一个数据分区,则查询目录表

SYSCATDATAPARTITIONS

以找到一个表的所有数据分区。对于 SOURCE

子句中缺少的数据类型或函数,可能是该对象不存

在,或该对象处于某模式中,

以上就是关于jdbc中同时执行两条查询sql语句,获得结果怎么写全部的内容,包括:jdbc中同时执行两条查询sql语句,获得结果怎么写、读取mysql数据库文本字段的值方法(mysql获取表字段信息)、Java编程 如何获取从数据库中获取的一条数据中一个一个数据 啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9700765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存