导航:首页 > 编程语言 > java动态查询

java动态查询

发布时间:2022-08-19 05:25:17

java 动态搜索(查找) 在线等

我用的是oracle 数据库。查询String sql = "select EMPNO,ENAME,SAL,DEPTNO from emp where ENAME like ?";显示4个字段
///主方法
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;

public class TrendSearch extends JFrame {
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
private MyTableModel tableModel;
private List<Object> list = new ArrayList<Object>();
private Staff staff;
private Connection connection = (Connection) OraSqlConnection
.getConnection();
ResultSet rs = null;

/**
* @param args
*/
public TrendSearch() {
initComponents();
}

private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTextField1 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyReleased(java.awt.event.KeyEvent evt) {
jTextField1KeyReleased(evt);
}
});
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().add(jTextField1, java.awt.BorderLayout.NORTH);

tableModel = new MyTableModel(new String[] { "EMPNO", "ENAME", "SAL",
"DEPTNO" }, new ArrayList());
jTable1.setModel(tableModel);
jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1, java.awt.BorderLayout.SOUTH);

pack();

}

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String s = jTextField1.getText().trim();
list.removeAll(list);
if (s != null && !"".equals(s)) {
PreparedStatement pstmt = null;
System.out.println(s);
String sql = "select EMPNO,ENAME,SAL,DEPTNO from emp where ENAME like ?";
try {
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, s + "%");
rs = pstmt.executeQuery();
while (rs.next()) {
staff = new Staff();
staff.setEMPNO(rs.getString(1));
staff.setENAME(rs.getString(2));
staff.setSAL(rs.getString(3));
staff.setDEPTNO(rs.getString(4));
list.add(staff);
}
tableModel.data = list;
tableModel.fireTableDataChanged();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

private class MyTableModel extends BaseTableModel {

public MyTableModel(String[] cols, List<Object> data) {
super(cols, data);
// TODO Auto-generated constructor stub
}

public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
Staff s = (Staff) list.get(rowIndex);
switch (columnIndex) {
case 0:
return s.getDEPTNO();
case 1:
return s.getENAME();
case 2:
return s.getSAL();
case 3:
return s.getDEPTNO();
default:
break;
}
return null;
}

}

public static void main(String[] args) {
// TODO Auto-generated method stub
TrendSearch ts = new TrendSearch();
ts.setVisible(true);
}

}
///tabel 类
import java.util.List;

import javax.swing.table.AbstractTableModel;

public abstract class BaseTableModel extends AbstractTableModel {

public String[] cols;
public List<Object> data;

public BaseTableModel(String[] cols, List<Object> data) {
this.cols = cols;
this.data = data;
}

public int getColumnCount() {
return cols.length;
}

public int getRowCount() {
return data.size();
}

public String getColumnName(int colIndex) {
return cols[colIndex];
}
}

//javabean 类
public class Staff {
private String EMPNO;
private String ENAME;
private String SAL;
private String DEPTNO;

public String getEMPNO() {
return EMPNO;
}

public void setEMPNO(String empno) {
EMPNO = empno;
}

public String getENAME() {
return ENAME;
}

public void setENAME(String ename) {
ENAME = ename;
}

public String getSAL() {
return SAL;
}

public void setSAL(String sal) {
SAL = sal;
}

public String getDEPTNO() {
return DEPTNO;
}

public void setDEPTNO(String deptno) {
DEPTNO = deptno;
}

}

///JDBC类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
* @author jiangzongshuai
*
*/
public class OraSqlConnection {
private static String className = "oracle.jdbc.driver.OracleDriver";

private static String url = "jdbc:oracle:thin:@localhost:1521:ORCL";

private static String username = "scott";

private static String password = "tiger";
private static Connection conn = null;

public static Connection getConnection() {
try {
if (conn !=null) return conn;
Class.forName(className);
conn = DriverManager.getConnection(url, username, password);
return conn;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}

② java 动态泛型查询报错

报的是NullPointerException,现在从代码看不出来,需要具体的提示下。

就是有一个对象没有加载到内存。你Debug调试看看对象。

有问题可以加QQ : 1473773560

③ 如何在java里实现复杂的动态查询功能

根据选择查询内容在后台动态拼接sql,比如条件A,select * from A,条件B换成select * from B.
前端也可以动态的显示要查询的内容。

④ 咨询站用jsp和java编码,首页如何处理多条动态查询

查就是了,每个查询服务器会自己建立会话,不用你过问,建立好处理查询的jsp或servlet就行了

⑤ 用java写一个程序,实现对SQL数据库的动态表进行定时查询

你这跟struts2没关系,需要一个定时器,定时去跑你的查询库表代码就OK了。

如果你的程序是需要将查询结果展示在jsp页面上,你需要在jsp页面上使用js写定时器代码,参考SetInterval方法。

如果你的程序是桌面应用程序,你可以使用java的定时器Timer。当然,你的项目中如果使用了spring,那有更好的解决方案Quartz。

具体问题要具体分析了。

⑥ java 怎么动态获取数据库数据

你是从 servlet 跳转到 jsp 吧,你可以在servlet查询到 选项框里的内容List传到jsp
然后:
<select>
<c:foreach item="${List}" var="ml">
<option value="${ml.name}">${ml.name}</option>
</c:foreach>。

阅读全文

与java动态查询相关的资料

热点内容
度人经pdf 浏览:898
怎么配置android远程服务器地址 浏览:956
java程序员看哪些书 浏览:939
什么app可以免费和外国人聊天 浏览:793
pdf手写笔 浏览:178
别永远伤在童年pdf 浏览:986
爱上北斗星男友在哪个app上看 浏览:418
主力散户派发源码 浏览:667
linux如何修复服务器时间 浏览:57
荣县优途网约车app叫什么 浏览:475
百姓网app截图是什么意思 浏览:225
php如何嵌入html 浏览:813
解压专家怎么传输 浏览:744
如何共享服务器的网络连接 浏览:134
程序员简易表白代码 浏览:168
什么是无线加密狗 浏览:64
国家反诈中心app为什么会弹出 浏览:69
cad压缩图打印 浏览:104
网页打开速度与服务器有什么关系 浏览:865
android开发技术文档 浏览:65