當前位置:首頁 » 數據倉庫 » java資料庫信息管理系統
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java資料庫信息管理系統

發布時間: 2023-06-14 16:38:28

A. 職工信息管理系統java+資料庫

自己到網上下個基於JSP的管理系統,然後修改一下就行了,這么龐大的系統,很少有人會幫你做的,還是自己動手修改一下吧

B. (高分)急求連接資料庫的JAVA學生信息管理系統源代碼

資料庫連接(Connection)
資料庫連接
獲取資料庫連接有兩種方法,一種是通過驅動程序管理器DriverManager類,另一種則是使用DataSource介面。這兩種方法都提供了了一個getConnection方法,用戶可以在程序中對它們進行相應處理後調用這個方法來返回資料庫連接。
• DriverManager類
• DataSource介面
• Connection介面
• JDBC URL
jdbc:<subprotocol>:<subname>

• 驅動程序注冊方法
(1)調用Class.forName方法
(2)設置jdbc.drivers系統屬性
• DriverManager方法
DriverManager類中的所有方法都是靜態方法,所以使用DriverManager類的方法時,不必生成實例。
DriverManager
• getConnection方法
作用是用於獲取資料庫連接,原型如下:
public static Connection getConnection(String url)
throws sqlException;

public static Connection getConnection(String url, String user, String password)
throws SQLException;

public static Connection getConnection(String url, Properties info)
throws SQLException;

• 使用DriverManager的getConnetion方法
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection
("jdbc:odbc:sqlserver", "sa", "sa");

• 使用設置jdbc.drivers系統屬性的方法

java -Djdbc.drivers=sun.jdbc.odbc.JdbcOdbcDriver test.java

DataSource 介面
……
//從上下文中查找數據源,並獲取資料庫連接
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("sqlserver");
Connection conn = ds.getConnection();
//查詢資料庫中所有記錄
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student");
……
Connection 介面
Connection介面代表了已經建立的資料庫連接,它是整個JDBC的核心內容。Connnection介面中的方法按照它們所實現的功能,可以分為三類:
• 生成資料庫語句
• 管理資料庫事務
• 獲取資料庫信息
生成資料庫語句
JDBC將資料庫語句分成三種類型 :
• 生成Statement 語句 :
Connection.createStatement()
• 生成PreparedStatement 語句 :
Connection. prepareStatement()
• 生成CallableStatement 語句 :
Connection. prepareCall ()
管理資料庫事務
• 默認情況下,JDBC將一條資料庫語句視為一個完整的事務。可以關掉默認事務管理:
public void setAutoCommit(Boolean autoCommit) throws SQLException;
將autoCommit的值設置為false,就關掉了自動事務管理模式
• 在執行完事務後,應提交事務:
public void commit() throws SQLException;
• 可以取消事務:
public void rollback() throws SQLException;
第二講 第四部分
資料庫語句
資料庫語句
JDBC資料庫語句共有三種類型:
• Statement:
Statement語句主要用於嵌入一般的SQL語句,包括查詢、更新、插入和刪除等等。
• PreparedStatement:
PreparedStatement語句稱為准備語句,它是將SQL語句中的某些參數暫不指定,而等到執行時在統一指定。
• CallableStatement:
CallableStatement用於執行資料庫的存儲過程。
Statement 語句
• executeQuery方法
• executeUpdate方法
• execute方法
• close方法
executeQuery方法
• executeQuery方法主要用於執行產生單個結果集的SQL查詢語句(QL),即SELECT語句。executeQuery方法的原型如下所示:
• public ResultSet executeQuery(String sql) throws SQLException;
executeUpdate方法
• executeUpdate方法主要用於執行 INSERT、UPDATE、DELETE語句,即SQL的數據操作語句(DML)
• executeUpdate方法也可以執行類似於CREATE TABLE和DROP TABLE語句的SQL數據定義語言(DDL)語句
• executeUpdate方法的返回值是一個整數,指示受影響的行數(即更新計數)。而對於CREATE TABLE 或 DROP TABLE等並不操作特定行的語句,executeUpdate的返回值總為零。
execute方法
execute方法用於執行:
• 返回多個結果集
• 多個更新計數
• 或二者組合的語句
execute方法
• 返回多個結果集:首先要調用getResultSet方法獲得第一個結果集,然後調用適當的getter方法獲取其中的值。要獲得第二個結果集,需要先調用getMoreResults方法,然後再調用getResultSet方法。
• 返回多個更新計數:首先要調用getUpdateCount方法獲得第一更新計數。然後調用getMoreResults,並再次調用getUpdateCount獲得後面的更新計數。
• 不知道返回內容:如果結果是ResultSet對象,則execute方法返回true;如果結果是int類型,則意味著結果是更新計數或執行的語句是DDL命令。
execute方法
為了說明如果處理execute方法返回的結果,下面舉一個代碼例子:
stmt.execute(query);
while (true) {
int row = stmt.getUpdateCount();
//如果是更新計數
if (row > 0) {
System.out.println("更新的行數是:" + row);
stmt.getMoreResults();
continue;
}
execute方法
//如果是DDL命令或0個更新
if (row == 0) {
System.out.println("沒有更新,或SQL語句是一條DDL語句!");
stmt.getMoreResults();
continue;
}
//如果是一個結果集
ResultSet rs = stmt.getResultSet;
if (rs != null) {
while (rs.next()) {
// 處理結果集
. . .
}
stmt.getMoreResults();
continue;
}
break;
}
PreparedStatement 語句
登錄一個網站或BBS時 :
• 使用Statement語句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery
(「SELECT password FROM userinfo
WHERE id=userId");
• 使用PreparedStatement語句
PreparedStatement pstmt=conn.prepareStatement
(「SELECT password FROM userinfo
WHERE id=?");
pstmt.setString(1, userId);
PreparedStatement語句
• 常用的setter方法

public void setBoolean(int parameterIndex, boolean x) throws SQLException;
public void setByte(int parameterIndex, byte x) throws SQLException;
public void setShort(int parameterIndex, short x) throws SQLException;
public void setInt(int parameterIndex,int x) throws SQLException;
public void setLong(int parameterIndex, long x) throws SQLException;
public void setFloat(int parameterIndex, float x) throws SQLException;
public void setDouble(int parameterIndex, double x) throws SQLException;
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException;
public void setString(int parameterIndex, String x) throws SQLException;
public void setBytes(int parameterIndex, byte[] x) throws SQLException;
public void setDate(int parameterIndex, Date x) throws SQLException;
public void setTime(int parameterIndex, Time x) hrows SQLException;
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException;
PreparedStatement語句
• PreparedStatement介面是由Statement介面擴展而來的,重寫了executeQuery方法、executeUpdate方法和execute 方法
• public ResultSet executeQuery() throws SQLException
• public int executeUpdate() throws SQLException
• public boolean execute() throws SQLException
CallableStatement語句
• CallableStatement語句是由Connection介面的prepareCall方法創建的,創建時需要傳入字元串參數,參數的形式為:
• {call procere_name[(?, ?, ...)]}
• {? = call procere_name[(?, ?, ...)]}
• {call procere_name}
CallableStatement語句
• 其中的問號是參數佔位符,參數共有兩種:
• IN參數
• OUT參數
• IN參數使用setter方法來設置
• OUT參數則使用registerOutParameter方法來設置
CallableStatement 語句
CallableStatement cstmt = con.prepareCall
("{call getTestData(?, ?)}");
cstmt.registerOutParameter
(1, java.sql.Types.TINYINT);
cstmt.registerOutParameter
(2, java.sql.Types.DECIMAL, 3);
cstmt.executeQuery();
byte x = cstmt.getByte(1);
java.math.BigDecimal n =
cstmt.getBigDecimal(2, 3);
第二講 第五部分
結 果 集
結果集
• JDBC為了方便處理查詢結果,又專門定義了一個介面,這個介面就是ResultSet介面。ResultSet介面提供了可以訪問資料庫查詢結果的方法,通常稱這個介面所指向的對象為結果集。
• 有兩種方法得到結果集,一種是直接執行查詢語句,將結果存儲在結果集對象上;另一種是不存儲返回結果,而在需要時調用資料庫語句的getResultSet方法來返回結果集
結果集
• 結果集指針
由於返回的結果集可能包含多條數據記錄,因此ResultSet 介面提供了對結果集的所有數據記錄輪詢的方法。結果集自動維護了一個指向當前數據記錄的指針,初始時這個指針是指向第一行的前一個位置。 next 方法就是用於向前移動指針的
結果集
• 結果集屬性
默認情況下,結果集是一個不可更新集,並且結果集的指針也只能向前移動。也就是說,在得到了一個結果集之後,用戶只能按照從第一條記錄到最後一條記錄的順序依次向後讀取,而不能跳到任意條記錄上,也不能返回到前面的記錄。不僅如此,結果集的這種輪詢只能進行一次,而不能再將指針重置到初始位置進行多次輪詢
結果集
• 結果集屬性
類型
並發性
有效性
• 屬性的設置是在生成資料庫語句時通過向生成方法傳入相應的參數設定的,而當結果集已經返回時就不能夠再改變它的屬性了。

結果集生成Statement語句共有三種方法
public Statement createStatement() throws SQLException;
public Statement createStatement
(int resultSetType, int resultSetConcurrency)
throws SQLException;
public Statement createStatement
(int resultSetType, int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
結果集
• 生成PreparedStatement語句共有六種方法

public PreparedStatement prepareStatement(String sql) throws SQLException;
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int[] columnIndexes)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int resultSetType,
int resultSetConcurrency)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
public PreparedStatement prepareStatement(String sql. String[] columnNames)
throws SQLException;
結果集
• 生成CallableStatement語句共有三種方法

public CallableStatement prepareCall(String sql)
throws SQLException;
public CallableStatement prepareCall
(String sql, int resultSetType,
int resultSetConcurrency)
throws SQLException;
public CallableStatement prepareCall
(String sql, int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
結果集
結果集類型
• 結果集的類型共有三種,TYPE_FORWARD_ONLY類型的結果集只能向前移動指針,而TYPE_SCROLL_INSENSITIVE類型和TYPE_SCROLL_SENSITIVE類型的結果集則可以任意移動指針。後兩種類型的區別在於,前者對來自其它處的修改不敏感(靜態),而後者則對於別人的修改敏感(動態視圖)。
結果集
結果集類型
• 對於可以任意移動指針的結果集,可以用來移動指針的方法包括:
• next 和previous :
• absolute 和relative :參數可正可負
• afterLast 、beforeFirst 、last 和first :
結果集
結果集並發性
• 結果集的並發性共有兩種,CONCUR_READ_ONLY的結果集是只讀而不可更新的;而CONCUR_UPDATABLE的結果集則是可以通過update方法進行更新的。
• ResultSet介面提供了一組update方法,用於更新結果集中的數據。這些方法與PreparedStatement介面中定義的setter方法一樣,也是與類型相對應的。所有的update方法都以update開頭 。
• 所有的update方法都有兩個參數,第一個參數用於指定更新的列,它可以是列名稱也可以是列的序號;第二個參數則表示將要更新列的值。
結果集
結果集並發性
• Statement stmt = conn.createStatement
• (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
• ResultSet rs = stmt.executeQuery("SELECT * FROM student " +
• "WHERE grade=2 AND math>60 AND physics>60 AND " +
• "chemistry>60 AND english>60 AND chinese>60");
• while(rs.next()){
• rs.updateString("grade", "3");
• rs.updateRow();
• }
結果集
結果集有效性
• 結果集的有效性是指在調用了Connection 介面的commit 方法後,結果集是否自動關閉。所以它只有兩個可選值,即HOLD_CURSORS_OVER_COMMIT 和CLOSE_CURSORS_AT_COMMIT 。前者表示調用commit 方法之後,結果集不關閉;而後者則表示關閉結果集。
結果結果集
• 結果集的getter方法
ResultSet介面還提供了一組getter方法,用於返回當前記錄的屬性值。它們都是以get開頭的,後接數據類型。比如,如果要返回一個float類型的列值,則應調用getFloat方法。每一種類型的getter方法都有兩種形式,它們的名稱相同而參數不同。這兩種形式的getter方法都只有一個參數,第一種形式的getter方法參數是String類型的,用於指定列的名稱;另外一種形式的getter方法參數則是int類型的,用於指定列的序號。

C. 用java和資料庫做一個學生信息管理系統(java 資料庫)

我也是計算機專業畢業的,你這個題目應該是期末作業之類的。你可以上碼雲上找開源項目,運氣好的話相關的文檔也比較全。
但你要是想購買一個現成的,我可以幫忙。

D. 怎麼用java+sql資料庫做一個學生信息管理系統

Student 類
public class Student
{
private int id;

private int age;

private int score;

private String name;

public Student()
{

}

public Student(int id, int age, int score, String name)
{
this.id = id;
this.age = age;
this.score = score;
this.name = name;
}

public int getId()
{
return id;
}

public void setId(int id)
{
this.id = id;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public int getScore()
{
return score;
}

public void setScore(int score)
{
this.score = score;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}

@Override
public String toString()
{
return "學號:" + id + " 姓名:" + name + " 年齡:" + age + " 成績:" + score;
}
}

Manager類
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Manager
{
private List<Student> list;

public Manager(List<Student> list)
{
this.list = list;
}

public List<Student> getList()
{
return list;
}

public void setList(List<Student> list)
{
this.list = list;
}

//添加學生
public void add(Student s)
{
list.add(s);
}

//根據學生學號返回學生年齡
public int search(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
return s.getAge();
}
}
return -1;
}

//刪除學生
public void remove(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
list.remove(s);
}
}
}

//計算總成績
public int allScore()
{
int score = 0;
int temp = 0;

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

temp = s.getScore();

score += temp;
}

return score;
}

//修改成績
public void update(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
s.setScore(s.getScore() + 10);
}
}
}
}

測試類 Client
import java.util.ArrayList;
import java.util.List;

public class Client
{
public static void main(String[] args)
{
List<Student> list = new ArrayList<Student>();

Manager manager = new Manager(list);//創建一個管理者

Student s1 = new Student();//無參構造方法創建的學生實例

//通過方法設置s1的屬性
s1.setId(201105);
s1.setAge(20);
s1.setScore(100);
s1.setName("zhangsan");

Student s2 = new Student(201101,21,98,"lisi");//通過帶參數的構造方法創建實例
Student s3 = new Student(201108,25,95,"zhaoliu");
Student s4 = new Student(201110,23,80,"xiaoming");
Student s5 = new Student(201106,28,78,"hello");

//放到集合當中
manager.getList().add(s1);//添加學生
manager.getList().add(s2);
manager.getList().add(s3);
manager.getList().add(s4);
manager.getList().add(s5);

System.out.println(list);

System.out.println(manager.allScore());

System.out.println(manager.search(201110));//根據學生學號查詢學生年齡

manager.remove(201110);//刪除學生

manager.update(201101);//修改成績

}
}
可以完成你上述的基本要求,如果改動可以自行修改 很簡單。

E. 急求java學生信息管理系統源代碼,帶有連接資料庫的,萬分感謝

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
public class MainFrame extends JFrame implements ActionListener{
InsertPanel ip = null;
SelectPanel sp = null;
JPanel pframe;
JButton jb1,jb2,jb3;
JMenuItem jm11,jm21,jm22,jm23,jm31,jm32,jm41,jm42;
CardLayout clayout;
public MainFrame(String s){
super(s);
JMenuBar mb = new JMenuBar();
this.setJMenuBar(mb);
JMenu m1 = new JMenu("系統");
JMenu m2 = new JMenu("基本信息");
JMenu m3 = new JMenu("成績");
JMenu m4 = new JMenu("獎懲");
mb.add(m1);
mb.add(m2);
mb.add(m3);
mb.add(m4);
jm11 = new JMenuItem("退源脊出系統");
jm21 = new JMenuItem("輸入");
jm22 = new JMenuItem("查詢");
jm23 = new JMenuItem("更改");
jm31 = new JMenuItem("輸入成績渣裂兄");
jm32 = new JMenuItem("查如襲詢成績");
jm41 = new JMenuItem("獎勵");
jm42 = new JMenuItem("處分");
m1.add(jm11);
m2.add(jm21);
m2.add(jm22);
m2.add(jm23);
m3.add(jm31);
m3.add(jm32);
m4.add(jm41);
m4.add(jm42);
Icon i1 = new ImageIcon();
Icon i2 = new ImageIcon();
Icon i3 = new ImageIcon();
jb1 = new JButton(i1);
jb1.setToolTipText("輸入");
jb2 = new JButton(i2);
jb2.setToolTipText("查詢");
jb3 = new JButton(i3);
jb3.setToolTipText("退出");
JToolBar tb = new JToolBar("系統工具");
tb.add(jb1);
tb.add(jb2);
tb.add(jb3);
add(tb,BorderLayout.NORTH);
jm11.addActionListener(this);
jm21.addActionListener(this);
jm22.addActionListener(this);
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
clayout = new CardLayout();
pframe = new JPanel(clayout);
add(pframe);
JPanel mainp = new JPanel(new BorderLayout());
JLabel mainl = new JLabel("學生信息管理平台",SwingConstants.CENTER);
mainl.setFont(new Font("serif",Font.BOLD,30));
mainp.add(mainl);
pframe.add(mainp,"main");
clayout.show(pframe, "main");
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jm21 || e.getSource() == jb1){
if(ip == null){
ip= new InsertPanel();
pframe.add(ip,"insert");
}
clayout.show(pframe, "insert");
this.setTitle("輸入學生信息");
}
else if(e.getSource() == jm22 || e.getSource() == jb2){
if(sp == null){
sp= new SelectPanel();
pframe.add(sp,"select");
}
clayout.show(pframe, "select");
this.setTitle("查詢學生信息");
}
else if(e.getSource() == jm11 || e.getSource() == jb3){
System.exit(0);
}
}
}
第二個:
import javax.swing.JFrame;
public class MainTest {
public static void main(String [] args){
MainFrame f = new MainFrame("學生信息管理平台");
f.setSize(400,300);
f.setLocation(350,250);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
第二個:
import java.sql.Connection;
import java.sql.DriverManager;
public class MySQLConnection {
static Connection getCon(){
Connection con = null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","123");
}
catch(Exception e){
System.out.println("建立資料庫連接遇到異常!");
}
return con;
}
}
第四個:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class SelectPanel extends JPanel implements ActionListener{
JButton jb;
JTextField jt;
JTextField jt1,jt2,jt3,jt4;
public SelectPanel(){
JLabel jl = new JLabel("請輸入學號:",SwingConstants.CENTER);
jt = new JTextField();
jb = new JButton("確定");
JPanel jp1 = new JPanel(new GridLayout(1,3));
jp1.add(jl);
jp1.add(jt);
jp1.add(jb);
JLabel j1,j2,j3,j4;
j1 = new JLabel("學號:",SwingConstants.CENTER);
j2 = new JLabel("姓名:",SwingConstants.CENTER);
j3 = new JLabel("性別:",SwingConstants.CENTER);
j4 = new JLabel("年齡:",SwingConstants.CENTER);
jt1 = new JTextField(6);
jt1.setEditable(false);
jt2 = new JTextField(6);
jt2.setEditable(false);
jt3 = new JTextField(6);
jt3.setEditable(false);
jt4 = new JTextField(6);
jt4.setEditable(false);
JPanel jp2 = new JPanel(new BorderLayout());
JPanel jp3 = new JPanel(new GridLayout(4,2));
jp2.add(new JLabel(""),BorderLayout.NORTH);
jp3.add(j1);
jp3.add(jt1);
jp3.add(j2);
jp3.add(jt2);
jp3.add(j3);
jp3.add(jt3);
jp3.add(j4);
jp3.add(jt4);
jp2.add(jp3);
this.setLayout(new BorderLayout());
add(jp1,BorderLayout.NORTH);
add(jp2);
jb.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jb){
String stuNo = jt.getText().trim();
Student s = new Student();
boolean b = true;
try{
b = s.selectByStuNo(stuNo);
}
catch(Exception ex){
System.out.println("查詢學生信息遇到異常!");
}
if(b){
jt1.setText(s.getStuNo());
jt2.setText(s.getName());
jt3.setText(s.getGender());
int a = s.getAge();
Integer i = new Integer(a);
jt4.setText(i.toString());
}
else{
JOptionPane.showMessageDialog(null, "無此學生!");
}
}
}

}
第五個:
import javax.swing.JFrame;
public class SelectTest {
public static void main(String [] args){
JFrame f = new JFrame("查詢學生信息");
SelectPanel p = new SelectPanel();
f.add(p);
f.setSize(400,300);
f.setLocation(300,250);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
第六個:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class Student {
String stuNo;
String name;
String gender;
int age;
public Student(){}
public Student(String stuNo,String name,String gender, int age){
this.stuNo = stuNo;
this.name = name;
this.gender = gender;
this.age = age;
}
public String getStuNo(){
return stuNo;
}
public void setStuNo(String stuNo){
this.stuNo = stuNo;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getGender(){
return gender;
}
public void setGender(String gender){
this.gender = gender;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public boolean insertStudent(){
boolean b = true;
try{
Connection con = MySQLConnection.getCon();
Statement statement = con.createStatement();
String sql = "insert into student values('" + stuNo + "','" + name +"','" + gender + "'," + age + ")";
sql = new String(sql.getBytes("gb2312"),"ISO8859_1");
statement.executeUpdate(sql);
con.close();
}
catch(Exception e){
b = false;
System.out.println("插入資料庫遇到異常!");
}
return b;
}
public boolean selectByStuNo(String stuNo)throws Exception{
boolean b = true;
Connection con = MySQLConnection.getCon();
Statement statement = con.createStatement();
String sql = "select * from student where stuNo =" + stuNo;
ResultSet rs = statement.executeQuery(sql);
if(rs != null && rs.next()){
String no = rs.getString(1);
this.setStuNo(no);
String n = rs.getString(2);
n = new String(n.getBytes("ISO8859_1"),"gb2312");
this.setName(n);
String g = rs.getString(3);
g = new String (g.getBytes("ISO8859_1"),"gb2312");
this.setGender(g);
this.setAge(rs.getInt(4));
b = true;
}
rs.close();
statement.close();
con.close();
return b;
}
}
資料庫你自己弄吧,我沒時間弄了!初學得多動手哦