you shoud remove
;
trong truy vấn sql của bạn:
truy vấn sai:
prepareStatement("create table staff (staffname varchar(30) primary key);");
preparedStatement = connect.prepareStatement("insert into staff values(?);");
truy vấn đúng là:
prepareStatement("create table staff (staffname varchar(30) primary key)");
preparedStatement = connect.prepareStatement("insert into staff values(?)");
KIỂM TRA CÂU HỎI CHÈN CỦA BẠN
Và, tôi nghĩ rằng CHÈN của bạn các giá trị trong db, truy vấn đó quá sai, đã đề cập đến tên bảng chỉ, bạn không nên đề cập đến tên cột . vì vậy bạn phải thêm tên bảng với truy vấn của mình.
truy vấn sai:
insert into staff values(?)
truy vấn đúng:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
tham khảo liên kết này:
http://www.w3schools.com/sql/sql_insert.asp
CẬP NHẬT:1
mã sai:
statement = connect.createStatement();
preparedStatement = connect
.prepareStatement("SELECT count(*)FROM information_schema.tables\n"
+ "WHERE table_schema = 'project' AND table_name = 'staff'");
rs = preparedStatement.executeQuery();
rs.next();
bạn nên thay đổi như:mẫu
Class.forName(driverName).newInstance();
con=DriverManager.getConnection(connectionUrl+dbName,user,password);
st = con.createStatement();
String sql="SELECT * FROM employees";
rs=st.executeQuery(sql);
Lưu ý:
- bạn không nên gọi truy vấn sql.
- Và, bạn đang sử dụng
preparedStatement
để gọi, bạn phải chuyển sang câu lệnhstatement
-
preparedStatement
không thể giải quyết được.
thích,
string sql=....sql query...;
statement.executeQuery(sql)
cập nhật:2:-> mẫu
public class User
{
private String empname;
public String getEmpName()
{
return empname;
}
public void setEmpName(String empname)
{
this.empname=empname;
}
public void addUser(User user)
{
try
{
PreparedStatement ps;
ps=connection.prepareStatement("INSERT INTO employee (empname,empaddress,depname) VALUES (?,?,?)");
ps.setString(1, user.getEmpName());
ps.setString(2, user.getEmpAddress());
ps.setString(3, user.getDepName());
ps.executeUpdate();
}
catch(Exception e)
{
System.out.println(e);
}
}