import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import javax.swing.JOptionPane; import com.mysql.jdbc.Statement; public class DBConn4 { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Success loading JDBC-ODBC Bridge Driver"); } catch (ClassNotFoundException e){ System.out.println("JDBC 沒有驅動程式" + e.getMessage()); } int op = 0; String sqlstr ="",id="",name=""; try { op = Integer.parseInt(JOptionPane.showInputDialog("請選擇選單\n1: 新增 2:修改 3:刪除")); switch(op){ case 1: id = JOptionPane.showInputDialog("請輸入座號"); name = JOptionPane.showInputDialog("請輸姓名").replace("'", "'"); sqlstr = "INSERT INTO student(ID,name) VALUES (" + id + ",'"+ name + "'" + ")"; break; case 2: id = JOptionPane.showInputDialog("請輸入欲修改資料(以座號為依據)"); name = JOptionPane.showInputDialog("請輸姓名").replace("'", "'"); sqlstr = "UPDATE student SET name='" + name +"'" + "WHERE ID = "+ id; break; case 3: id = JOptionPane.showInputDialog("請輸入欲刪除資料(以座號為依據)"); sqlstr = "DELETE FROM student WHERE ID="+id; break; default: System.out.println("Error"); } }catch(NumberFormatException e){ } try { String url = "jdbc:mysql://localhost:3306/phone?" + "user=root&password=12345"; Connection conn = DriverManager.getConnection(url); if(!conn.isClosed()) System.out.println("資料庫連線成功"); Statement sm = (Statement) conn.createStatement(); if(op !=0){ sm.execute(sqlstr); } ResultSet rs = sm.executeQuery("SELECT * FROM student"); ResultSetMetaData rsmd = rs.getMetaData(); for(int i=1; i <= rsmd.getColumnCount(); i++){ System.out.print(rsmd.getColumnName(i)+"\t"); } System.out.println("\n---------------------"); while(rs.next()){ System.out.print(rs.getInt(1) + "\t" + rs.getString(2)); System.out.println(); } sm.close(); conn.close(); } catch(SQLException e) { System.out.println("資料庫連線失敗"); } } }執行結果
新增
修改
刪除
您好,請問我若要新增一個項目,例如性別sex,那我只需要照您程式碼上的樣子新增嗎?有什麼特別要注意的問題呢?感謝您
回覆刪除作者已經移除這則留言。
回覆刪除