2 liuzhen6835 liuzhen6835 于 2015.07.25 16:49 提问

用Java调用oracle的问题

String sql="update emp set ?=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setString(1,oldInfo);
ps.setInt(2, infoInt);
ps.setInt(3,empId);
count=ps.executeUpdate();
}
String sql="update emp set ?=? where empno=? ";错误在这一句
java.sql.SQLSyntaxErrorException: ORA-01747: user.table.column, table.column 或列说明无效

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.25 18:12
已采纳
 String sql="update emp set ?=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setString(1,oldInfo);
ps.setInt(2, infoInt);
ps.setInt(3,empId);
count=ps.executeUpdate();
} 
字段不能通过参数方式,改成
String sql="update emp set "+oldInfo + "=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setInt(1, infoInt);
ps.setInt(2,empId);
count=ps.executeUpdate();
} 
liuzhen6835
liuzhen6835 谢谢
接近 3 年之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.25 17:00

oracle调用Java 权限问题
Oracle 调用java 初始(一)
java 调用用java写的oracle存储过程的相关问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

miracle_yao
miracle_yao   2015.07.25 16:56

String sql="update emp set ?=? where empno=? ",第一个?应该是个字段名吧

liuzhen6835
liuzhen6835 是的
接近 3 年之前 回复
guwei4037
guwei4037   Ds   Rxr 2015.07.25 17:00

String sql="update emp set ?=? where empno=? ";错误在这一句

准确的说在set ?=?

尽管下面有这句话:ps.setString(1,oldInfo); 但实际上结果为:set 'oldInfo' = 12; 很显然生成的sql不正确。

liuzhen6835
liuzhen6835 应该是这样!那么怎么解决呢?
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
oracle掉用memcached,得用oracle调用java,java调用memcached
oracle掉用memcached,得用oracle调用java,java调用memcached
oracle调用Java 权限问题
在用oracle存储过程调用java程序的时候,在java的code中有URL的代码,所以由于权限问题,导致无法正常运行。解决方法:grant JAVASYSPRIV to edata(用户)在用oracle存储过程调用java程序的时候,在java的code中有URL的代码,所以由于权限问题,导致无法正常运行。解决方法:grant JAVASYSPRIV to edata(用户),cal
Oracle Function调用java代码
 原文传送门:http://www.blogjava.net/improviser/archive/2008/12/07/244911.html在前一篇文章中简单介绍了JAVA程序如何调用Oracle存储过程的基本语法程序结构, 本文将介绍JAVA跟Oracle的另一种关系,即通过JAVA编写Oracle存储过程。 通常情况下,我们都是使用Oracle数据库系统中的ps/sql语句来为orac
pl/sql入门教程
plsql入门 游标变量 Oracle EXTRACT()函数 用Java调用存储过程 ORACLE用户常用数据字典的查询使用方法
Java调用oracle function的两种方式
1. PreparedStatement stmt =conn.prepareStatement("select pkg.fun(?) from dual"); stmt.setLong(1,123); Result rs = stmt.executeQuery(); if (rs.next) { return rs.getDouble(1); } 2. CallableSt
Oracle package 定义和java调用
1.定义package和package body create or replace package pkg_bicycle_test is   PROCEDURE pro_fetchuser(ret out sys_refcursor, strId in out varchar2); end; create or replace package body pkg_bicycle
oracle学习笔记
这阶段对oracle学习的总结oracle数据库知识\oracle数据库\用java调用oracle数据库知识\oracle数据库\用java调用oracle数据库知识\oracle数据库\用java调用oracle数据库知识\oracle数据库\用java调用oracle数据库知识\oracle数据库\用java调用oracle数据库知识\oracle数据库\用java调用
关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题
关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题   需求:需要将多个参数作为一个参数传给存储过程执行,如:参数'1000','2000','3000','4000'等多个参数   作为一个字符串参数传递给存储过程PROC_RPT110(?)。存储过程将这个参数作为查询语句   in('1000','2000','3000','4000')的条件查询多个值。
oracle触发器调用存储过程调用java类
虽然吭哧了半天这个方法也没用上,权当学习了吧
如何在Oracle中使用Java存储过程(详解)
其实,这篇短文,我早就应该写了。因为,Java存储过程今后在各大数据库厂商中越来越流行,功能也越来越强大。这里以Oracle为例,介绍一下java存储过程的具体用法。一、如何创建java存储过程?通常有三种方法来创建java存储过程。 使用oracle的sql语句来创建: e.g. 使用create or replace and compile java source named “” as后边跟上