数据库操作 1.使用Class.ForName提示找不到该类 解决方法:首先安装驱动,然后将包msbase.jar,mssqlserver.jar,msutil.jar添加到库(lib)中。 2.简单应用 private void getResultSet() throws SQLException { String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb"; Connection conn; Statement stmt; ResultSet rs; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch (ClassNotFoundException ex) { Logger.getLogger(DataBaseFrame.class.getName()).log(Level.SEVERE, null, ex); } conn = DriverManager.getConnection(url, "sa", "2468"); stmt = conn.createStatement(); rs = stmt.executeQuery("select d1,d2,d3 from head"); if(rs.next()) { JOptionPane.showMessageDialog(this, rs.getString(1), "提示", JOptionPane.ERROR_MESSAGE); } conn.close(); stmt.close(); } 3.公用数据库操作类 import java.sql.*; import javax.swing.*; import java.util.*; public class DBPubClass extends JFrame { private String[][] UserName = null; String url = "jdbc:microsoft:sqlserver://CZY-WIN:1433;DatabaseName=testdb"; private Connection conn; private Statement stmt; private ResultSet rs; /*-------方法描述--------------*/ /*初始化得到数据库连接Connection*/ /*----------------------------*/ public DBPubClass() { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn = DriverManager.getConnection(url, "sa", "2468"); //stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); } catch (ClassNotFoundException e) { System.err.println("fail to load JDBC/ODBC driver"); e.printStackTrace(); System.exit(1); } catch (SQLException ee) { System.err.println("fail to connect"); ee.printStackTrace(); } } /*-------方法描述--------------*/ /*得到表中的数据,返回ResultSet*/ /*----------------------------*/ public ResultSet getDataSet(String SelectSql) throws SQLException { stmt = conn.createStatement(); rs = stmt.executeQuery(SelectSql); /*这里的conn和stmt不能关闭,否则ResultSet将提示“关闭状态”*/ /*conn.close(); stmt.close();*/ return rs; } /*-------方法描述--------------*/ /*得到表中的列名(字段名),返回Vector类型*/ /*----------------------------*/ Vector getColumn(ResultSet rs) throws SQLException { Vector columns = new Vector(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); ++i) { columns.addElement(rsmd.getColumnName(i)); } return columns; } /*-------方法描述--------------*/ /*得到表中的数据,返回Vector类型*/ /*----------------------------*/ Vector getRows(ResultSet rs) throws SQLException { Vector rows = new Vector(); boolean moreRecords = rs.next(); if (!moreRecords) { JOptionPane.showMessageDialog(this, "ResultSet has no records"); } ResultSetMetaData rsmd = rs.getMetaData(); do { rows.addElement(getNextRow(rs, rsmd)); } while (rs.next()); return rows; } private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd) throws SQLException { Vector currentRow = new Vector(); for (int i = 1; i <= rsmd.getColumnCount(); ++i) { switch (rsmd.getColumnType(i)) { case Types.VARCHAR: currentRow.addElement(rs.getString(i)); break; case Types.INTEGER: currentRow.addElement(new Long(rs.getLong(i))); break; default: System.out.println("Type was: " + rsmd.getColumnTypeName(i)); } } return currentRow; } /*-------方法描述--------------*/ /*关闭数据库连接和statement*/ /*----------------------------*/ void closed() throws SQLException { conn.close(); stmt.close(); } /*-------方法描述--------------*/ /*以二维数组的方式得到表中的数据,error!!!*/ /*----------------------------*/ String[][] GetUserName(ResultSet rs) { int i = 0; try { ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { for (int j = 0; j < rsmd.getColumnCount() - 1; j++) { UserName[i][j] = rs.getString(j + 1); } i++; } } catch (SQLException ee) { ee.printStackTrace(); } return UserName; } /*-------方法描述--------------*/ /*更新数据表中的数据*/ /*插入数据表中的数据*/ /*删除数据表中的数据*/ /*----------------------------*/ public void Excute(String UpdateSql) { try { stmt = conn.createStatement(); stmt.executeUpdate(UpdateSql); stmt.close(); conn.close(); } catch (SQLException ee) { ee.printStackTrace(); } } } 使用: DBPubClass d=new DBPubClass(); d.url="jdbc:microsoft:sqlserver://CZY-WIN:1433;DatabaseName=testdb"; ResultSet rs=d.getDataSet("select d1,d2,d3 from head"); if (rs.next()){ JOptionPane.showMessageDialog(this, rs.getString(1), "提示", JOptionPane.ERROR_MESSAGE); } d.closed(); 转自:http://blog.youkuaiyun.com/manimanihome/archive/2008/07/25/2709248.aspx