国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java的數據庫連接

2019-11-18 14:25:07
字體:
來源:轉載
供稿:網友

  java數據庫連接終于做好了,雖然功能是簡單了點,不過我會推出復雜一點的程序,可能以后推出的只用鼠標就可以完成絕大部分的數據庫操作,好了,這次的數據庫還是用的和那個非常小的數據庫治理系統(jsp)一樣的MySQL web_data 的數據庫。

圖示如下:

Java的數據庫連接


代碼如下:
------------------------------------------------------------

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

public class inensshow extends JFrame {


PRivate Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;

//GUI變量定義
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;

public inensshow()
{
//Form的標題
super( "輸入SQL語句,按查詢按鈕查看結果。" );

String url = "jdbc:mysql://localhost:3306/web";
String username = "inens";
String passWord = "inens";
//加載驅動程序以連接數據庫
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕捉加載驅動程序異常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
"裝載 JDBC/ODBC 驅動程序失敗。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕捉連接數據庫異常
catch ( SQLException sqlex ) {
System.err.println( "無法連接數據庫" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//假如數據庫連接成功,則建立GUI
//SQL語句
String test="SELECT * FROM data";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查詢" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);

JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//將"輸入查詢"編輯框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//將"提交查詢"按鈕布置到 "SOUTH"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//將"topPanel"編輯框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//將"table"編輯框布置到 "CENTER"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//顯示Form
show();
}

private void getTable()
{
try {
//執行SQL語句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中顯示查詢結果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}

private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到達第一條記錄
boolean moreRecords = rs.next();
//假如沒有記錄,則提示一條消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"結果集中無記錄" );
setTitle( "無記錄顯示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//獲取字段的名稱
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//獲取記錄集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中顯示查詢結果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}


private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一條記錄
return currentRow;
}

public void shutDown()
{
try {
//斷開數據庫連接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
}

public static void main( String args[] )
{
final inensshow app =
new inensshow();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}


------------------------------------------------------------

這次在WIN98中就不好使了。因為Mysql的驅動程序沒有也沒能加入到CLASSPATH 當中,但是JSP卻可以使用(JSP的98驅動加載詳見Jsp與Mysql連接查錯文章),所以這次我是在XPServer中測試的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳普湖县| 禹城市| 闽侯县| 宜阳县| 桓台县| 林周县| 云龙县| 沧州市| 慈利县| 鲁甸县| 金坛市| 雅江县| 玉溪市| 阳江市| 宁都县| 集贤县| 沙洋县| 浦城县| 湟中县| 沙雅县| 宝坻区| 若尔盖县| 壶关县| 上蔡县| 伊宁县| 定陶县| 牟定县| 玛多县| 同德县| 丰都县| 卫辉市| 昔阳县| 拜城县| 灵璧县| 城固县| 大石桥市| 资中县| 湖南省| 济宁市| 富顺县| 大田县|