java - 我正在尝试插入 sql 但它不断给我错误
问题描述
我想通过java插入sql,但它给了我错误
public void addStudent(String name, int SID, String gender, String major, String nationality, int mobileNo,
String birthDate, int deptNo) {
try {
PreparedStatement stmt = conn.prepareStatement("insert into students values("+ SID+ ", '"+name+"','"
+ gender+"',"+mobileNo + ",TO_Date('"+birthDate+"', 'DD/MM/YYYY'), '"+ major+"', '"+nationality+"', null, "+deptNo+");");
stmt.execute();
} catch (SQLException e) {
e.printStackTrace();
return;
}
}
java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
解决方案
我不建议你PreparedStatement
那样使用。这就是我会做的:
public void addStudent(Student student){
int SID = student.getSID();
String name = student.getName();
// etc ...
String query = "INSERT INTO students VALUES(?,?)";
try{
PreparedStatement prep = conn.prepareStatement(query);
prep.setInt(1,SID);
prep.setString(2,name);
// etc ...
prep.executeUpdate();
}catch (SQLException e){
e.printStackTrace();
}
}
推荐阅读
- mysql - 错误 1045 Windows 10 MySQL 在没有密码的情况下无法登录
- mysql - 如何修复spring-boot中的“不支持请求方法'DELETE'”错误
- android - Androidx MutliDex:一个.dex文件中的方法引用数不能超过64K
- python - Matplotlib / Imshow / 透明层无处不在,但某些点
- tfs - 有没有一种快速的方法来添加带有子链接的工作项?
- wordpress - 在用户创建时添加自定义字段
- django - 在 Django 中显示来自 ForeignKey 的对象时出现问题
- angular - Angular 2 - 延迟加载组件的路由器实例
- python - 有没有办法让 tkinter 按钮没有圆角
- c++ - C++ 构造函数具有内部链接但未定义 [-Wundefined-internal]