linkdb.java

来自「利用第三方API JPCAP进行开发出来的网络抓包程序」· Java 代码 · 共 69 行

JAVA
69
字号
package cn.myownlife.www;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

/*读取数据库中的日志记录*/
public class LinkDB
{
	public LinkDB() throws Exception
	{
		String[] names;
		int i,j,RowNum,ColNum;
		Object[][] info;
		String sqlstr;
		ResultSet res;
		
		JFrame f=new JFrame("利用JTable显示数据库表");  //连接数据库
		f.addWindowListener( //添加EXIT监听
			new WindowAdapter()
			{
				public void windowClosing(WindowEvent e){
				System.exit(0);
				}
			}
		);
		//连接到数据库
		String mySqlDriver = "org.gjt.mm.mysql.Driver";
		String url = "jdbc:mysql://localhost/mydatabase";
		Class.forName(mySqlDriver).newInstance();
		//把密码改成你自己的就可以了
		Connection connection=DriverManager.getConnection(url,"root","yourpassword");
		Statement sta=connection.createStatement();
		sqlstr="select * from packets";  //取得数据表的记录数和字段数
		res=sta.executeQuery(sqlstr);
		res.next(); 
		RowNum=res.getInt(5);// 返回行数
		sqlstr="select * from packets";
		res=sta.executeQuery(sqlstr);
		ResultSetMetaData rsmd=res.getMetaData();
		ColNum=rsmd.getColumnCount();//返回列数
		names=new String[ColNum];     //构造JTable
		for (i=1;i<=ColNum;i++) names[i-1]=rsmd.getColumnName(i);//得到属性名
		info=new Object[RowNum][];
		i=0;
		while(res.next())
		{
			info[i]=new Object[ColNum];
			for (j=1;j<=ColNum;j++)
			{
				info[i][j-1]=res.getObject(j);
			}
			i++;
		
		JTable table=new JTable(info,names);//把数据添加到JTABLE
		//table.setPreferredScrollableViewportSize(new Dimension(400,50));
		JScrollPane scrollPane=new JScrollPane(table);
		Container cont=f.getContentPane();
		cont.add(scrollPane);
		f.pack();
		f.setLocation(300,300);//设置显示初始位置
		f.setResizable(true);//设置此 dialog 是否可以由用户调整大小
		f.setVisible(true);//设置可见
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?