您正在使用java开发一个项目并且正在使用netbeans。我有一个连接数据库的代码。它正在工作,但值没有输入数据库。我将在下面提供代码。我有2个班级,第一个班级如下:
package javasql;
import com.mysql.jdbc.Driver;
import java.sql.*;
public class Connect {
public Connect() throws SQLException{
makeConnection();
}
private Connection koneksi;
public Connection makeConnection() throws SQLException {
if (koneksi == null) {
new Driver();
// buat koneksi
koneksi = DriverManager.getConnection(
"jdbc:mysql://localhost:3306","root","virus");
}
return koneksi;
}
public static void main(String args[]) {
try {
Connect c = new Connect();
System.out.println("Connection established");
}
catch (SQLException e) {
e.printStackTrace();
System.err.println("Connection Failure");
}
}
}
第二类是:
package javasql;
import java.sql.*;
public class SqlStatement {
private Statement statement;
public SqlStatement() throws SQLException{
}
public Statement makeStatement() throws SQLException{
Connect c = new Connect();
Connection conn = c.makeConnection();
statement = conn.createStatement();
return statement;
}
public void insert(String name,int npm)throws SQLException{
statement.execute("insert into student values(\""+name+"\","+npm+");");
}
public static void main(String arg[]) throws SQLException{
SqlStatement sss;
sss = new SqlStatement();
sss.makeStatement();
try {
SqlStatement s = new SqlStatement();
s.insert("Ferdi",1);
s.insert("Anca",2);
System.out.println("Success");
}
catch(SQLException e){
System.out.println("Failed");
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
s.makeStatement()
之前执行s.insert()
你的代码太乱了。
答案 1 :(得分:0)
您似乎错过了提供database
名称来建立连接。与mysql
连接的格式为:
DriverManager.getConnection("jdbc:mysql://hostname:port/dbname","username", "password");
但是在提供的代码中,由于您未能与DB连接而导致dbname
丢失。
请提供dbname
并继续前进。