欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

ResultSetMetaData 和 DatabaseMetaData

系統(tǒng) 1737 0
ResultSetMetaData:用來分析 "結(jié)果集"信息
DatabaseMetaData:用來分析是"數(shù)據(jù)庫"信息


//做一個簡單的 查詢執(zhí)行器
    
package com.enhance.jdbc;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

public class QueryExecutor {
	JFrame jf = new JFrame("查詢執(zhí)行器");
	private JScrollPane scrollPane;
	private DefaultTableModel model;
	private JButton execBn=new JButton("查詢");
	
	private JTextField sqlField=new JTextField(40);
	
	private static Connection conn;
	private static Statement stmt;
	private static ResultSet rs;
	
	static {
		try {
			
			Properties prop=new Properties();
			FileInputStream in=new FileInputStream("src/mysql.ini");
			prop.load(in);
			in.close();
			String driver =prop.getProperty("driver");
			String url=prop.getProperty("url");
			String user=prop.getProperty("user");
			String pass=prop.getProperty("pass");
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,pass);
			stmt=conn.createStatement();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	class ExecListener implements ActionListener{
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			if(scrollPane!=null){
				jf.remove(scrollPane);
			}
			try {
				rs=stmt.executeQuery(sqlField.getText());
				System.out.println();
				ResultSetMetaData rsmd=rs.getMetaData();
				Vector<String> columnNames=new Vector<String>();
				System.out.println("cn"+rsmd.getColumnCount());
				Vector data=new Vector();
				for (int i = 0; i < rsmd.getColumnCount(); i++) {
					columnNames.add(rsmd.getColumnName(i+1));
				}
				while(rs.next()){
					Vector v=new Vector();
					for (int i = 0; i < rsmd.getColumnCount(); i++) {
						v.add(rs.getString(i+1));
					}
					data.add(v);
				}
				model = new DefaultTableModel(data,columnNames);
				JTable table=new JTable(model);
				scrollPane=new JScrollPane(table);
				jf.add(scrollPane);
				jf.validate();
				
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
	}
	public void init(){
		JPanel top=new JPanel();
		top.add(new JLabel("輸入查詢語句:"));
		top.add(sqlField);
		top.add(execBn);
		execBn.addActionListener(new ExecListener());
		sqlField.addActionListener(new ExecListener());
		
		jf.add(top,BorderLayout.NORTH);
		jf.setSize(640,480);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}
	
	public static void main(String[] args) {
		new QueryExecutor().init();
	}

}


  


ResultSetMetaData 和 DatabaseMetaData


//分析數(shù)據(jù)庫信息
    
package com.enhance.jdbc;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Properties;

public class DataBaseMetaDataTest {
	private String driver;
	private String url;
	private String user;
	private String pass;
	private Connection conn;
	private ResultSet rs;
	public void initParam(String paramFile) throws Exception{
		Properties prop=new Properties();
		prop.load(new FileInputStream(paramFile));
		driver=prop.getProperty("driver");
		url=prop.getProperty("url");
		user=prop.getProperty("user");
		pass=prop.getProperty("pass");
	}
	
	public void info() throws Exception{
		try {
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,pass);
			//獲取DataBaseMeteData對象
			DatabaseMetaData dbmd=conn.getMetaData();
			//獲取MySql支持的所有類型
			ResultSet rs=dbmd.getTableTypes();
			System.out.println("----MySql支持的表的類型信息----");
			printResultSet(rs);
			//獲取當(dāng)前數(shù)據(jù)庫的全部數(shù)據(jù)表
			rs=dbmd.getTables(null,null, "%", new String[]{"TABLE"});
			System.out.println("----當(dāng)前數(shù)據(jù)庫中的所有表信息----");
			printResultSet(rs);
			
			rs=dbmd.getPrimaryKeys(null, null, "my_test");
			System.out.println("----my_test表中的主鍵信息----");
			printResultSet(rs);
			
			rs=dbmd.getProcedures(null, null, "%");
			System.out.println("----當(dāng)前數(shù)據(jù)庫中所有存儲過程信息----");
			printResultSet(rs);
			
			rs=dbmd.getCrossReference(null, null, "time_zone", null, null, "time_zone_name");
			System.out.println("----time_zone表和time_zone_name表之間的外鍵約束----");
			printResultSet(rs);
			
			rs=dbmd.getColumns(null, null, "my_test", "%");
			System.out.println("----my_test表的全部數(shù)據(jù)列----");
			printResultSet(rs);
			
			System.out.println(dbmd.getDatabaseProductName());
			System.out.println(dbmd.getDatabaseProductVersion());
			System.out.println(dbmd.getDriverName());
			System.out.println(dbmd.getDriverVersion());
			
			
		} finally{
			if(rs!=null)
				rs.close();
			if(conn!=null)
				conn.close();
		}
	}
	
	public void printResultSet(ResultSet rs) throws SQLException{
		ResultSetMetaData rsmd=rs.getMetaData();
		
		for (int i = 0; i < rsmd.getColumnCount(); i++) {
			System.out.print(rsmd.getColumnName(i+1)+"\t");
		}
		System.out.println();
		while(rs.next()){
			for (int i = 0; i < rsmd.getColumnCount(); i++) {
				System.out.print(rs.getString(i+1)+"\t");
			}
			System.out.println();
		}
		rs.close();
	}
	
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		DataBaseMetaDataTest dbmdt=new DataBaseMetaDataTest();
		dbmdt.initParam("src/mysql.ini");
		dbmdt.info();
	}

}

  

ResultSetMetaData 和 DatabaseMetaData


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本黄色大片免费观看 | 99在线观看精品 | 日韩在线免费看网站 | 污视频在线免费 | 国产日本在线播放 | 嫩草网站 | 国产二区三区毛片 | 亚洲影视在线观看 | 国产小视频在线观看免费 | 亚洲黄色a级 | 电视剧知青1至45集免费观看 | 天天插天天干 | 久久3| 午夜在线精品偷拍 | 91在线播放免费不卡无毒 | 国产在线毛片 | 国产福利视频在线观看 | 男女激情视频在线观看 | 中文一级毛片 | 国产专区在线视频 | 欧美日韩视频在线播放 | 99视频在线观看精品 | 亚洲性后网| 一级毛片特级毛片免费的 | 欧美日韩综合精品 | 欧美一区二三区 | 国产三及片 | 热久热| 亚洲精品99| 免费观看日本a毛片 | 免费性| 亚洲一区二区三区精品视频 | 男女日比 | 久久亚洲春色中文字幕久久 | 欧美成年性h版影视中文字幕 | 久久久一区二区 | 成人毛片免费播放 | 色鬼久久 | 国产人成午夜免视频网站 | 欧美精品无需播放器在线观看 | 亚洲精品久久久蜜桃 |