java - 无法使用准备好的语句插入数据库

标签 java mysql database string

我正在尝试输入一个名为服务的表,它有一个 ID、服务名称和服务类型。当我尝试运行它时出现错误。

public void insertService(String service, String serviceType) {

    try {
        st = myConn.createStatement();
        String query = "INSERT INTO services"
                         +"(service_name, service_type)"
                         +"values(?,?)";
        PreparedStatement preparedStmt = myConn.prepareStatement(query);
        preparedStmt.setString(1, service);
        preparedStmt.setString(2, serviceType);

        st.executeUpdate(query);
    } catch(Exception e) {
        System.out.println("Cannot Add service" + e);
    }

}

最佳答案

myConn 似乎没有被定义。

Connection myConn = DriverManager.getConnection(url,user, password);

编辑 1

可能是因为您正在执行没有值的查询?

st.executeUpdate(query); 对比 preparedStmt.executeUpdate()

编辑 2

myConn does not appear to be defined.

Connection myConn = DriverManager.getConnection(url,user, password);

忽略这个位。答案在第一次编辑中。

关于java - 无法使用准备好的语句插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47418094/

相关文章:

mysql - Count FROM 另一列 MySQL

database - 更新行内容从另一个表中的行添加值

java - 将 Java Long 值转换为 php 中的值

java - 人脸特征检测——眼角、眉毛

java - 使用自定义 KMS key 访问 AWS 参数存储值

mysql - 跨表 MySQL 查找多个组中最好的

php - 通过mysql表的fetchRow创建数组的变量

php - MySQL和PHP高级产品销售: check multiple fields

java - 如何使用 Hibernate 创建数据库模式

java - 如果连接丢失则注销java