PreparedStatement,调用getParameterMetaData?400报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

PreparedStatement,调用getParameterMetaData?400报错

爱吃鱼的程序员 2020-06-02 11:56:00 69

PreparedStatement,调用getParameterMetaData出错? 400 报错

 

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

con=DriverManager.getConnection(

"jdbc:sqlserver://192.168.8.8:1433;DatabaseName=XXST_SYS_OA",

"sa",

"1");

result=new Result();

String query="select p.remoteProblemId,r.fSumResult,r.fProblemCode from   OA_Problem_Record r,OA_Temp_Problem p " +

"where p.localProblemCode=r.fProblemCode and p.remoteProblemId =?";

ps=con.prepareStatement(query);

ParameterMetaData pmd = ps.getParameterMetaData();

 

System.out.println("参数个数:"+pmd.getParameterCount());

 

Java 数据库连接
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-02 11:56:14

    出错就解决呗,小意思

    ######

    不知道如何解决啊,是不是缺东西了。。

    报错如下:

    com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException: 列名 'localProblemCode' 无效。

    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

    at com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData.<init>(Unknown Source)

    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.getParameterMetaData(Unknown Source)

    at client.Test.queryProblemByID(Test.java:61)

    at client.Test.main(Test.java:28)

    Exception in thread "main" java.lang.NullPointerException

    at java.io.FileOutputStream.write(FileOutputStream.java:247)

    at client.Test.main(Test.java:30)

    ######

    对嘛,不把错误信息贴出来怎么解决啊

    列名无效,你先用 Sql server 客户端执行以下你的SQL语句,先把SQL语句弄对再说。记得把 ? 随便替换成某个参数值再去执行

    ######

    sql语句没问题的。。

    ######

    不调用getParameterMetaData方法,直接读取结果是OK的?

    ######

    对啊

    ######

    引用来自#7楼“崔超”的帖子

    对啊

    不晓得,可以试试在 SELECT 的字段里也加入 localProblemCode 这个

    ######

    加了也不行。。

    ######

    就是从两个表查询,带参数的时候出错,你们都遇到过吗??

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程