English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我想設計一個簡單資料查詢程式 譬如說打上7-11XX店可以顯示地址等等
但是要用使用SWING和MYSQL資料連接
請高手大大可以幫我設計一下 謝謝

2006-06-18 22:26:48 · 1 個解答 · 發問者 Allen 1 in 電腦與網際網路 程式設計

我該怎麼建立資料庫呢= =??
還有資料庫建立好 就可以查詢了嗎?

2006-06-19 20:38:37 · update #1

我是看不懂怎麼藉由JAVA程式連接到SQL
是不是建置好資料庫 就可以連結好呢??
globe_fox@hotmail.com

2006-06-20 11:32:27 · update #2

我現在資料庫設置好了
但是要在哪裡設定密碼那些的呢??

2006-06-20 12:43:00 · update #3

現在資料庫都有了 但是就是不能找資料

2006-06-20 12:53:17 · update #4

OK已經可以了 但是我有點小一問 不曉得可不可以再加上清除查詢資料和離開視窗的按鈕呢??

2006-06-21 10:01:04 · update #5

不曉得我這個程式設計可不可以轉成EXE檔案
我同學幫我轉 但是就不能執行 都沒有回應
還是資料庫型態是不能轉成EXE檔案??

2006-06-21 17:48:49 · update #6

>

2006-06-21 23:58:09 · update #7

1 個解答

1. 我假設你已經有一個MySQL資料庫, 安裝了 MYSQL java connector
2. 程式如下, 請看註解
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class StoreQuery implements ActionListener {
//<--- swing 元件宣告
JFrame f = new JFrame("便利商店地址查詢");
JButton query = new JButton("查詢");
JLabel lblName = new JLabel("店名");
JLabel lblAddr = new JLabel("地址");
JTextField txtName = new JTextField("清輸入查詢店名", 50);
JTextField txtAddr = new JTextField("", 50);
Container c;
//<--- JDBC 元件宣告
Connection conn;
Statement stmt;
ResultSet rs;

public static void main(String[] args) {
StoreQuery myq = new StoreQuery();
}

public StoreQuery() {
f.setLayout(null); //<--- 清除JFrame的LayoutManager, 由程式安排元件位置
c = f.getContentPane();
//<--- 設定元件位置
lblName.setBounds(10, 10, 30, 25);
txtName.setBounds(45, 10, 200, 25);
query.setBounds(250, 10, 60, 25);
lblAddr.setBounds(10, 45, 30, 25);
txtAddr.setBounds(45, 45, 200, 25);
query.addActionListener(this); //<--- 設定按鍵行動監聽程式(本程式實作ActionListener)
//<--- 將原件加入 JFrame Container
c.add(lblName);
c.add(txtName);
c.add(query);
c.add(lblAddr);
c.add(txtAddr);
//<--- JFrame 設定
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setBounds(0,0,400,200);
f.setVisible(true);
try {
//<--- 開啟MySQL資料庫連線
Class.forName("com.mysql.jdbc.Driver").newInstance(); //<--- MySQL Java Connector 類別
//<--- localhost : MySQL IP 位址
//<--- stock : MySQL 資料庫名稱
//<--- user, password : MySQL 使用者名稱, 通行碼
conn = DriverManager.getConnection("jdbc:mysql://localhost/stock?user=user01&password=abcd12");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace(); // handle the error
}
}

public void actionPerformed(ActionEvent e) {
//<--- 查詢鍵被按下
try {
//<--- SQL 查詢指令
rs = stmt.executeQuery("select address from store where storename = '" + txtName.getText() + "'");
//<--- 如果查詢到資料
if (rs.next())
txtAddr.setText(rs.getString(1));
//<--- 查不到資料
else
txtAddr.setText("資料不存在");
} catch (Exception ex) {
ex.printStackTrace(); // handle the error
}
}
}

2006-06-20 08:40:48 補充:
您真是大哉問啊, 跟我說您是否完全不懂MySQL或任何一種關連式資料庫(RDBMS), 像 Oracle, SQLServer ? 或是 SQL語言 ? 這些都比學 Java 困難耶. 是否只有不懂MySQL ?

2006-06-20 16:16:40 補充:
是的, 還要 MySQL java connector
DriverManager.getConnection("jdbc:mysql://localhost/stock?user=user01&password=abcd12")
localhost : IP address
stock : schema name

2006-06-20 22:08:48 補充:
詳細過程我已經email給您了, 因為有點長.

2006-06-21 15:13:03 補充:
ok, 我 email 給你

2006-06-22 01:24:59 補充:
這個程式我可以幫你轉成視窗執行檔(EXE),但是沒多大用處.這只是給您一個示範,通常有DB連線的程式會將DB設定寫在外部的設定檔裡,例如DB user的password改了, 才不需改原始碼重新編譯,更麻煩的是要重新deploy到使用者的電腦.email給您.

2006-06-19 18:11:30 · answer #1 · answered by Samuel 5 · 0 0

fedest.com, questions and answers