package qlsach;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DbConnect {
Connection con;
private String stringCon;
public DbConnect() throws SQLException{
String Stringcon;
Stringcon = "jdbc:sqlserver://MSI:1433;databaseName=QLSach";
try{
con = DriverManager.getConnection(stringCon, "sa", "sa");
}
catch (SQLException ex){
Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
}
}
public ResultSet getData(String stringSQL){
ResultSet rs = null;
try{
Statement state = con.createStatement();
rs = state.executeQuery(stringSQL);
} catch (SQLException ex){
Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
}
public int ExcuteSQLInsert(String[] stringSQL){
int rowsInserted = 0;
String sql = "INSERT INTO Sach(MaSach,TenSach,TheLoai,NXB,Sotrang,GiaTien ) VALUE (?,?,?,?,?,?)";
PreparedStatement statement;
try{
statement = con.prepareStatement(sql);
statement.setString(1, stringSQL[0]);
statement.setString(2, stringSQL[1]);
statement.setString(3, stringSQL[2]);
statement.setString(4, stringSQL[3]);
statement.setString(5, stringSQL[4]);
statement.setString(6, stringSQL[5]);
rowsInserted = statement.executeUpdate();
}
catch(SQLException ex){
Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
}
return rowsInserted;
}
public int ExcuteSQLUpdate(String[] stringSQL){
int rowsInserted = 0;
String sql = "UPDATE Sach SET TenSach=?,TheLoai=?,NXB=?,SoTrang=?,GiaTien=? WHERE MaSach=?";
PreparedStatement statement;
try{
statement = con.prepareStatement(sql);
statement.setString(1, stringSQL[0]);
statement.setString(2, stringSQL[1]);
statement.setString(3, stringSQL[2]);
statement.setString(4, stringSQL[3]);
statement.setString(5, stringSQL[4]);
statement.setString(6, stringSQL[5]);
rowsInserted = statement.executeUpdate();
}
catch(SQLException ex){
Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
}
return rowsInserted;
}
public int ExcuteSQLDelete(String[] stringSQL){
int rowsInserted = 0;
String sql = "DELETE FORM Sach WHERE MaSach=?";
PreparedStatement statement;
try{
statement = con.prepareStatement(sql);
statement.setString(1, stringSQL[0]);
rowsInserted = statement.executeUpdate();
}
catch(SQLException ex){
Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
}
return rowsInserted;
}
}
What I have tried:
run:
Sep 25, 2020 2:08:41 AM qlsach.DbConnect <init>
SEVERE: null
java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:649)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at qlsach.DbConnect.<init>(DbConnect.java:31)
at qlsach.frmQuanLySach.<init>(frmQuanLySach.java:28)
at qlsach.frmQuanLySach.lambda$main$0(frmQuanLySach.java:585)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at qlsach.frmQuanLySach.showData(frmQuanLySach.java:43)
at qlsach.frmQuanLySach.<init>(frmQuanLySach.java:29)
at qlsach.frmQuanLySach.lambda$main$0(frmQuanLySach.java:585)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
BUILD SUCCESSFUL (total time: 1 second)