java - 尽管执行正确,executeUpdate() 仍返回零

标签 java jdbc

create_PaperBean.java

package Beans;

import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class create_paperBean extends org.apache.struts.action.ActionForm {

    private String table_name;

    public String getTable_name() {
        return table_name;
    }

    public void setTable_name(String table_name) {
        this.table_name = table_name;
    }
    public String createDB(){
        String str = "creation_failed";
        try{   
            Statement st = DBConnection.DBConnection.DBConnect();
            int insert = st.executeUpdate("CREATE TABLE "+table_name+"(ques_no int(11) NOT NULL PRIMARy KEY,"
                    + "ques_name varchar(45),ans1 varchar(45),ans2 varchar(45),ans3 varchar(45),"
                    + "ans4 varchar(45),correct_ans varchar(45))");            
            System.out.println(insert);
            if(insert > 0)
                str = "created";            
        } catch (SQLException ex) {
            Logger.getLogger(create_paperBean.class.getName()).log(Level.SEVERE, null, ex);
        }  
        return str;
    }
}

我正在使用 struts,当这个 bean 被执行时,在数据库中创建了一个表,但是 insert 的值仍然为零!因此,我无法继续访问正确的页面以进一步运行网络应用程序。我做错了什么?

最佳答案

st.executeUpdate() 返回 SQL 数据操作语言 (DML) 语句的行数,或者返回0 返回.

创建表既不是 INSERT 也不是 UPDATE,因此收到 0 是正常的,因为没有行受到影响。

关于java - 尽管执行正确,executeUpdate() 仍返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032075/

相关文章:

java - 将第一个元素作为 Null 添加到队列中

java - 如何在单个 Java 文件中维护多个 SQL 数据库连接?

java - Microsoft JDBC 驱动程序对 Java 代码有奇怪的行为

java - Teradata CLOB 批处理对 JDBC 没有用吗?

java - Android 中的向后兼容性和 SDK 更新

java - 如何从数据库获取图像并设置数据的位置?

java - 在 Spring JDBC 中检索具有关联的对象

java - JDBC Mysql语法错误

java - Choco 3.3.3 NoClassDefFoundError

java - 如何从网页上抓取一些数据