Các phong cách lập trình
Với một bài toán, nhưng chúng ta có thể có nhiều cách để giải quyết. Mỗi cách giải quyết đều có cái hay riêng, và tùy từng trường hợp thì ta nên chọn cách nào cho phù hợp nhất.
Sau đây mình sẽ đưa ra một ví dụ, với những cách giải quyết khác nhau.(4cách)
Yêu cầu
-IDE: Netbean 6.1
-Cơ sở dữ liệu: SqlServer
-Gói Jdbc driver.
Trước tiên: Ta cần tạo một cơ sở dữ liệu có tên là Opp
Cơ sở dữ liệu là opp, và trong cơ sở dữ liệu này, chỉ có một bảng là UserName. Bảng này quản lý tên của sinh viên.
Vấn đề đặt ra, là chúng ta tiến hành thêm tên của sinh viên vào cơ sở dữ liệu.
Cách số1:
Bước 1: Tạo project có tên là MVC
Bước 2:Tạo một package là “cach1”
Bước 3:Tiến hành tạo một Jframe, Trong Jframe có một trường để thêm dữ liệu, và một button (Tên của button là thêm)
Bước 4:Kích chuột phải vào nút them, tiến hành chọn sự kiện ActionPerformed
Trong sự kiện này ta tiến hành code như sau
Nội dung đầy đủ của Jfame như sau
Với cách số 1, chỉ cần như vậy là ta có thể thêm dữ liệu vào cơ sở dữ liệu rồi.
Đặc điểm: Tiến hành kết nối tới cơ sở dữ liệu ngay trong sự kiện ActionPerformed
Ưu điểm: Viết code ngắn, với những trường hợp làm vidu demo
Nhược điểm: Trong một project, thì có rất nhiều các Jframe, vì thế nếu mỗi sự kiện lại viết như trên thì lượng code tăng lên đột biến. Vì thế cách này tỏ ra không hiệu nghiệm.
Cách số 2: Đang tiếp tục.
Với một bài toán, nhưng chúng ta có thể có nhiều cách để giải quyết. Mỗi cách giải quyết đều có cái hay riêng, và tùy từng trường hợp thì ta nên chọn cách nào cho phù hợp nhất.
Sau đây mình sẽ đưa ra một ví dụ, với những cách giải quyết khác nhau.(4cách)
Yêu cầu
-IDE: Netbean 6.1
-Cơ sở dữ liệu: SqlServer
-Gói Jdbc driver.
Trước tiên: Ta cần tạo một cơ sở dữ liệu có tên là Opp
PHP:
create database opp
go
use opp
go
create table UserName
(
id int primary key identity(1,1),
uname nvarchar(100)
)
go
Vấn đề đặt ra, là chúng ta tiến hành thêm tên của sinh viên vào cơ sở dữ liệu.
Cách số1:
Bước 1: Tạo project có tên là MVC
Bước 2:Tạo một package là “cach1”
Bước 3:Tiến hành tạo một Jframe, Trong Jframe có một trường để thêm dữ liệu, và một button (Tên của button là thêm)
Bước 4:Kích chuột phải vào nút them, tiến hành chọn sự kiện ActionPerformed
Trong sự kiện này ta tiến hành code như sau
PHP:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1552;databaseName=opp", "sa", "123456");
pre=con.prepareStatement("insert into UserName(uname) values(?)");
pre.setString(1, user.getText());
pre.executeUpdate();
JOptionPane.showMessageDialog(rootPane, "Thêm thành công");
} catch (Exception ex) {
ex.toString();
}
Nội dung đầy đủ của Jfame như sau
PHP:
package cach1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.swing.JOptionPane;
public class Jframe extends javax.swing.JFrame {
Connection con;
PreparedStatement pre;
public Jframe() {
initComponents();
}
@SuppressWarnings("unchecked")
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1552;databaseName=opp", "sa", "123456");
pre=con.prepareStatement("insert into UserName(uname) values(?)");
pre.setString(1, user.getText());
pre.executeUpdate();
JOptionPane.showMessageDialog(rootPane, "Thêm thành công");
} catch (Exception ex) {
ex.toString();
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Jframe().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField user;
// End of variables declaration
}
Đặc điểm: Tiến hành kết nối tới cơ sở dữ liệu ngay trong sự kiện ActionPerformed
Ưu điểm: Viết code ngắn, với những trường hợp làm vidu demo
Nhược điểm: Trong một project, thì có rất nhiều các Jframe, vì thế nếu mỗi sự kiện lại viết như trên thì lượng code tăng lên đột biến. Vì thế cách này tỏ ra không hiệu nghiệm.
Cách số 2: Đang tiếp tục.