【问题标题】:How to run JDBC update query without knowing column type如何在不知道列类型的情况下运行 JDBC 更新查询
【发布时间】:2013-01-27 07:43:11
【问题描述】:

我必须在不知道列类型的情况下使用preparedstatement/statement 运行jdbc 更新查询。 我有一个查询说'更新表设置状态=?哪里id=? ' 我得到了一个像 {("status"="123"), ("id"="546")}

现在我不知道列类型,有什么通用的方法可以使用 jdbc 运行这个查询吗?

而不是运行 - ps.setString(1,map.get(("status")); 因为我不知道 DB 中状态字段的列类型(也可能是 int)

请帮助我在不使用 spring jdbc 模板的情况下解决这个问题。

【问题讨论】:

    标签: jdbc


    【解决方案1】:

    ps.setString(1,map.get(("status")) 也适用于整数,您只需要注意您放入整数列的valueint 类型。

    以下代码说明:

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    
    public class SOJDBC 
    {
    public static void main(String rgs[])
    {
        Connection con = DBConnection.getConnection("TEMP");
        try 
        {
            PreparedStatement pstmt = con.prepareStatement("insert into STUDENT(ROLLNO,NAME,AGE) values(?,?,?)");
            pstmt.setString(1, "1");    //column type is integer, will work because the value is of int type
            pstmt.setString(2, "Bhushan");
            pstmt.setString(3, "25");   //column type is integer, will work because the value is of int type
            pstmt.executeUpdate();
        }
        catch (SQLException e) 
        {
            e.printStackTrace();
        }
    }
    }
    

    【讨论】:

    • @user1606084 不客气,如果这个答案解决了你的问题,你可以接受这个答案。
    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多