ใช้ Data ชื่อนี้ครับ databasename.mdb ของ Access 2003 วางไว้ที่เดียวกันกับไฟล์ jsp
Connection connect = DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ='databasename.mdb;'uid=;pwd=;");
เป็นแบบนี้ใช้งานได้ แต่มันของ MySQL
Connection connect = DriverManager.getConnection("jdbc:odbc:DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=databasename; UID=root; PWD=");
ลองแบบนี้ครับ
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\\ชื่อไพล์.mdb","user","pass");
Statement command = conn.createStatement();
ResultSet rs = command.executeQuery("select * FROM ....");
ปล. เอามาโพสเผื่อไว้เผื่อใครจะใช้
//Connec.java
public Connection Con;public Statement Stmt;
private void Con(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(เปลื่ยนเป็นชื่อให้ตรงกับไพล์ของเราเช่น Connec.class.getName()).log(Level.SEVERE, null, ex);
}
String sql="jdbc:odbc:ชื่อODBC นะครับ";
try {
Con = DriverManager.getConnection(sql, "", "");
Stmt = Con.createStatement();
} catch (SQLException ex) {
Logger.getLogger(เปลื่ยนเป็นชื่อให้ตรงกับไพล์ของเราเช่น Connec.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void Cos() throws SQLException, SQLException{
Stmt.close();//การปิดการเชื่อมต่อนะครับ
Con.close();
}
ขอแชร์โค๊ดบางส่วนครับ เผื่อเป็นประโยชน์ในกรณีศึกษาครับ
private void CheckUser() {
char[] pass = tf_Password.getPassword();
if (tf_Login.getText().equals("")) {
JOptionPane.showMessageDialog(dg_Login, "กรุณาป้อนชื่อด้วยครับ",
"User Name Error", JOptionPane.WARNING_MESSAGE);
} else if (pass.length == 0) {
JOptionPane.showMessageDialog(dg_Login, "กรุณาป้อนรหัสผ่านด้วยครับ",
"Password Error", JOptionPane.WARNING_MESSAGE);
} else {
String password = "";
for (int i = 0; i < pass.length; i++) {
password = password + pass;
}
String sqlReadtblLogin = "SELECT tblLogin.*, tblEmp.EmpFirstName," +
"tblEmp.EmpLastname, tblDepartment.*" +
" FROM tblPosition INNER JOIN" +
"(((tblDepartment INNER JOIN tblDependOn ON" +
" tblDepartment.DepartmentID=tblDependOn.DepartmentID)" +
" INNER JOIN tblEmp ON" +
" tblDependOn.DependID=tblEmp.DependID)" +
" INNER JOIN tblLogin ON tblEmp.EmpID=tblLogin.EmpID)" +
" ON tblPosition.PositionId=tblDependOn.PositionId" +
" WHERE (((tblLogin.UserName)= '" + tf_Login.getText() + "')" +
" AND ((tblLogin.Password)= '" + password + " '))";
try {
String Url = "jdbc:odbc:Project";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(Url);
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rec = stmt.executeQuery(sqlReadtblLogin);
rec.first();
if (rec.getRow() == 0) {
JOptionPane.showMessageDialog(dg_Login, "User name และ" +
" Password ไม่ถูกต้อง",
"Password Error", JOptionPane.ERROR_MESSAGE);
} else {
if (!rec.getString("DepartmentName")
.equals("Stock Warehouse")) {
String st = "โปรแกรมนี้ใช้ได้เฉพาะพนักงานแผนก" +
" Stock Warehouse เท่านั้น\n";
st = st + "พนักงานแผนก" + rec.getString("DepartmentName")
+ "ไม่สามารถใช้งานได้";
JOptionPane.showMessageDialog(dg_Login, st,
"Password Error", JOptionPane.ERROR_MESSAGE);
} else {
dg_Login.dispose();
dg_Login = null;
}
}
rec.close();
con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(),
"SQL Error", JOptionPane.ERROR_MESSAGE);
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage(),
"ClassNotFound Error", JOptionPane.ERROR_MESSAGE);
}
}
}