【发布时间】:2014-03-25 12:17:37
【问题描述】:
我尝试了所有可能的方法,但没有成功。我正在尝试使用 Datasource 将记录插入服务器上的数据库,它适用于 SELECT 语句,但不适用于 INSERT 语句。除了这段代码我还需要做什么吗?
准备好的声明
insertCampusian = connection.prepareStatement("INSERT INTO CAMPUSIAN ( CAMPUSIAN_USER_NAME, CAMPUSIAN_FIRST_NAME, "
+ "CAMPUSIAN_LAST_NAME, CAMPUSIAN_PASSWORD, CAMPUSIAN_PHONE_NO, CAMPUSIAN_EMAIL, CAMPUSIAN_MARITAL_STATUS, "
+ "CAMPUSIAN_SEX ) VALUES( ?, ?, ?, ?, ?, ?, ?, ? )");
用于插入
public boolean register(Campusian campusian) {
try {
insertCampusian.setString(1, campusian.getUserName());
insertCampusian.setString(2, campusian.getFirstName());
insertCampusian.setString(3, campusian.getLastName());
insertCampusian.setString(4, campusian.getPassword());
insertCampusian.setString(5, campusian.getPhoneNo());
insertCampusian.setString(6, campusian.getEmail());
insertCampusian.setString(7, campusian.getMaritalStatus());
insertCampusian.setString(8, campusian.getSex());
boolean result = insertCampusian.execute();
System.out.println("Is Successful: "+result);
if (!result) {
//connection.rollback();
return false;
}
} catch (SQLException ex) {
System.out.println("ERROR.. "+ex);
Logger.getLogger(CampusianDataBaseBean.class.getName()).log(Level.SEVERE, null, ex);
}
//connection.commit();
return true;
}
【问题讨论】:
-
尝试 insertCampusian.executeQuery() 或 insertCampusian.executeUpdate()
-
您遇到什么错误?你怎么知道它不起作用?您有权更新表格吗?
-
我也尝试使用 executeUpdate() 方法,它返回 0,但是当我检查表时发现发现
-
execute()的返回值并不是你想的那样。这与语句的成功或失败无关,而是语句的第一个“返回值”是什么(更新计数或结果集)。 -
我检查了使用insert语句插入的数据库表值没有找到