如何实现在JAVA的图形界面上查询数据库内容

如何实现在JAVA的图形界面上查询数据库内容,第1张

Java Swing中实现数据查询还是很简单的,就如你上面的问题,可以在一个JFrame上添加两个JPanel,一个JPanel添加用于输入查询条件的文本输入框和一个Button,另一个添加用于显示查询的组件。

这样你在输入查询条件之后,点击查询按钮,将要触发一个鼠标点击事件,你可以在处理这个事件的方法之中实现查询功能,然后你在显示查询的组件上显示你查询到的结果。

具体使用什么样的组件你可以查看jdk文档,希望我的回答对你有所帮助!

首先创建一个连接工厂import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlStatement;public class ConnectionFactory {

private Connection conn=null;

private Statement stmt=null;

private ResultSet rs=null;

public ConnectionFactory() {

super();

// TODO Auto-generated constructor stub

} public void OpenConn() throws Exception{

try{

ClassforName("commysqljdbcDriver")newInstance();

String url="jdbc:mysql://127001:3306/guestbook";

String user="root";

String password="root";

conn=DriverManagergetConnection(url,user,password);

}catch(Exception e){

Systemoutprintln("创建链接抛出异常为:"+egetMessage());

}

} public ResultSet executeQuery(String sql) throws Exception{

try{

stmt=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);

rs=stmtexecuteQuery(sql);

}catch(Exception e){

Systemoutprintln("执行查询抛出的异常为:"+egetMessage());

}

return rs;

} public void close() throws Exception{

try{

rsclose();

stmtclose();

connclose();

}catch(Exception e){

Systemoutprintln("关闭对象抛出的异常:"+egetMessage());

}

} }

测试类 import javasqlResultSet;public class TestJDBC {

public static void main(String[] args) {

ConnectionFactory c= new ConnectionFactory();

try {

cOpenConn();

String sql="select from tb_guestbook";

ResultSet rs=cexecuteQuery(sql);

while(rsnext()){

Systemoutprintln(rsgetString(2));

}

cclose();

Systemoutprintln();

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

}

一般正常情况下是有的,但是如果之前程序将某条数据,或者关于某条id的数据删掉之后,之后你又要用到他,就回查询无结果,因为程序要走事务,但是还没提交。这种情况建议先将想要的数据查到,再进行修改或者删除数据,也就是说先select 再delete、update

刚刚漏了帐号密码了,现在补上

try {

//这里的是MYSQL 举例

//加载驱动 

ClassforName("commysqljdbcDriver");

//创建数据库连接

Connection con = DriverManagergetConnection("jdbc:mysql://localhost:3306/test","root","root");

//创建查询 “请求”

PreparedStatement ps = conprepareStatement("select  from user");

//返回查询结果

ResultSet rs = psexecuteQuery();

//遍历结果

while(rsnext()) {

//假如 User 表中 有个 name 列

Systemoutprintln("name >> "+rsgetString("name"));

}

//关闭

rsclose();

psclose();

conclose();

} catch (Exception e) {

eprintStackTrace();

}

我刚写了一个只有插入的,望采纳

import javasql;

import javautil;

public class TestPre {

public static void main(String[] args) {

int i=0,deptno=0;//i只做while循环使用,deptno是表dept2中的一个属性,类型是int

String dname=null,loc=null;//dname和loc也是表dept2的属性,类型是String

Scanner s=new Scanner(Systemin);

Systemoutprintln("请输入3个参数");

while(i<3){

try{

deptno=snextInt();

i++;

dname=snext();

i++;

loc=snext();

i++;

}catch(InputMismatchException e){

Systemoutprintln("输入的类型不符,退出");

Systemexit(-1);

}

}

Connection conn=null;

PreparedStatement pstmt=null;

try {

ClassforName("commysqljdbcDriver");

conn = DriverManagergetConnection("jdbc:mysql://localhost/mydata"+ "user=root&password=root");

pstmt=connprepareStatement("insert into dept2 values(,,)");

pstmtsetInt(1, deptno);

pstmtsetString(2, dname);

pstmtsetString(3, loc);

pstmtexecuteUpdate();

Systemoutprintln("插入完成");

} catch (ClassNotFoundException e) {

Systemoutprintln("连接数据库不成功,程序退出");

Systemexit(-1);

} catch (SQLException e) {

Systemoutprintln("连接数据库不成功,程序退出");

Systemexit(-1);

}

finally{

try{

if(pstmt!=null){

pstmtclose();

pstmt=null;

}

if(conn!=null){

connclose();

conn=null;

}

}catch(SQLException e){

eprintStackTrace();

}

}

}

}

Statement stm=conncreateStatement();

ResultSet rs=stmexecute("查询语句");

他会返回一个ResultSet 结果集

然后通过rsnext()方法便利结果集中的值

代码示例:

ClassforName("驱动地址");

Connection con=DriverManagergetConnection("数据库地址","用户名","密码");

Statement stm=concreateStatement();

ResultSet rs=stmexecute("查询语句");

while(rsnext()){

String str=rsgetString("对应的列名");

String str1=rsgetString(2);

int i=rsgetInt(3);

}

2个方案吧:

1用数据库的 存储过程 ,相当于数据库的函数,这里面可以加 逻辑判断

这个方法比较少用

2在客户端分2步访问数据库,第一步登录,根据返回的数据,再决定是否 更新数据库,不是在sql语句中逻辑判断 一般都这么用

以上就是关于如何实现在JAVA的图形界面上查询数据库内容全部的内容,包括:如何实现在JAVA的图形界面上查询数据库内容、java链接MYSQL数据库并实现查找数据代码如何写、java 查询数据库数据时有时候会查不到数据,代码不报异常,当你在查询一次的时候又好了 概率性发生等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10192923.html

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

发表评论

登录后才能评论

评论列表(0条)

保存