问题描述
- 用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 或列说明无效
解决方案
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();
}
解决方案二:
oracle调用Java 权限问题
Oracle 调用java 初始(一)
java 调用用java写的oracle存储过程的相关问题
解决方案三:
String sql="update emp set ?=? where empno=? ",第一个?应该是个字段名吧
解决方案四:
String sql="update emp set ?=? where empno=? ";错误在这一句
准确的说在set ?=?
尽管下面有这句话:ps.setString(1,oldInfo); 但实际上结果为:set 'oldInfo' = 12; 很显然生成的sql不正确。
时间: 2024-10-30 05:45:12