⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.java

📁 java语言编写的基于sql2000开发的图书馆管理系统
💻 JAVA
字号:
package main;

import java.sql.*;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;



/**
 * 该类封装了对数据库进行访问的公用方法和一些变量,给其他类访问数据库带来方便
 * 也减少了代码量,同时提高了代码的效率
 * @author Administrator
 */
public class DataBase {
	public static Connection con;

	public static Statement statement;
	
	// 静态代码块,在类加载时自动执行
	static {
		try {
			// "com.microsoft.jdbc.sqlserver.SQLServerDriver" ;
			Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
			// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			//System.out.println("类实例化成功!");
			con = DriverManager
					.getConnection(
							"jdbc:microsoft:sqlserver://DINGSHUAI:1433;DatabaseName=library",
							"library", "library");
		//	System.out.println("创建连接对像成功!");

			statement = con.createStatement();

		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e.getMessage(), "",
					JOptionPane.ERROR_MESSAGE);
		}
	}

	public static ResultSet executeQuery(String sql) {
		ResultSet innerresultSet = null;
		try {
			innerresultSet = statement.executeQuery(sql);
		} catch (Exception e) {
			System.out.println("fail to execute the sql" + ": " + sql);
		}
		return innerresultSet;

	}

	/**
	 * to execute 更新语句
	 */
	public static boolean execute(String sql) {
		boolean result = false;
		try {
			result = statement.execute(sql);
		} catch (Exception e) {
			System.out.println(sql);
			System.out.println("fail to execute" + e);
		}
		return result;
	}

	// columns contains the values that you want to store in Vector
	// resultset is the return of value of a executive sql
	// the return value vector will be used to construct a defaulttablemodel for
	// JTable
	public static Vector getVector(String[] columns, ResultSet result) {
		Vector dataRow = new Vector();
		try {
			while (result.next()) {
				Vector tmp = new Vector();
				for (int i = 0; i < columns.length; i++) {
					tmp.add((Object) result.getString(columns[i]));
				}
				//System.out.println((String)tmp.get(0));
				dataRow.add(tmp);
			}
		} catch (Exception e) {
			System.out.println(e);
			System.out.println("fail to read data from resultset");
			System.out.println("in DataBase.java line 45");
		}
		return dataRow;
	}

	public static DefaultTableModel createModelForTable(
			String[] englishColumns, String[] chineseColumns, String sql) {
		// datarow is contents of the table,columns is 标题 for the table
		Vector dataRow = new Vector(), columns = new Vector();

		// dataRow is initialized by the method DataBase.getVector();
		// columns is initialized as below
		for (int i = 0; i < chineseColumns.length; i++)
			columns.add((Object) chineseColumns[i]);

		ResultSet resultSet = DataBase.executeQuery(sql);
		dataRow = DataBase.getVector(englishColumns, resultSet);
		DefaultTableModel modelForTable = new DefaultTableModel(dataRow,
				columns);
		return modelForTable;
	}
	
	//to judge whether a certain user exist in a resultset
	public static boolean exist(ResultSet resultSet){
		boolean result=false;
		try{
			if(resultSet.next())
				result=true;
		}catch(Exception e){
			System.out.println("exception in DataBase.java line 109"+
					e);
		}
		return result;
	}
}

⌨️ 快捷键说明

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