当前位置: 首页 > 知识库问答 >
问题:

如何在不知道列类型的情况下运行JDBC更新查询

楚威
2023-03-14

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

现在我不知道列类型,有没有通用的方法来使用jdbc运行这个查询?

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

请帮助我解决这个问题,而不使用Spring jdbc模板。

共有1个答案

林英武
2023-03-14

ps.setString(1,map.get((“status”)也适用于integer,您只需注意您放入integer列中的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();
    }
}
}
 类似资料:
  • 我正在实现一个排序列表类,在这个类中,我将对任何类型的对象进行排序,所以现在我想测试对象是否具有可比性, 我用这段代码覆盖了compareTo()方法:- 所以现在我需要给这些对象分配数字,像这样 但它总是给我一个例外:- 线程“main”中出现异常Java . lang . classcastexception:Java . lang . integer不能转换为java.lang.String

  • 问题内容: 我正在使用gob将结构序列化到磁盘。有问题的结构包含一个接口字段,因此具体类型需要使用进行注册。 这里的难题是,进行灌装的图书馆应忽略所使用的混凝土类型。我希望即使调用者定义了自己的接口实现,也可以进行序列化。 我可以通过动态注册类型来成功编码数据(请参见下面的简单示例),但是在尝试重新读取数据时,gob拒绝接受未注册的类型。它令人沮丧,因为感觉好像所有数据都在那里- 如果gob 标记

  • 问题内容: 目前,我正在此站点上抓取图表图表信息。要抓取信息,我需要为有很多镜头的情况做一个for循环。我可以通过单击“ Team Stats”并找到射门次数来找到射门次数。 我想做出适当的选择而不必找出拍摄数量。 我目前正在做什么: 任何帮助将不胜感激。请让我知道是否需要进一步的信息。 问题答案: 我不确定您的变量k是什么意思。 我从所有评论中获得了建议。

  • 本文向大家介绍MySQL在不知道列名情况下的注入详解,包括了MySQL在不知道列名情况下的注入详解的使用技巧和注意事项,需要的朋友参考一下 前言 最近感觉脑子空空,全在为了刷洞去挖洞,还是回归技术的本身让自己舒服些。好了,下面话不多说了,来一起看看详细的介绍吧 前提 以下情况适用于 MySQL < 5版本,或者在 MySQL >= 5 的版本[存在information_schema库],且已获取

  • 问题内容: 我在我的网站上设置了一个滑动面板。 完成动画制作后,我像这样设置哈希 (这是一个回调,并且在前面已分配)。 这很好用,可以使用户在面板上添加书签,也可以使非JavaScript版本正常工作。 但是,当我更新哈希时,浏览器跳到该位置。我想这是预期的行为。 我的问题是:如何预防这种情况?即如何更改窗口的哈希值,但是如果哈希值存在,浏览器 不能 滚动到该元素?某种东西吗? 我正在使用jQue

  • 我必须在WIndows工作站上执行此操作