java.sql.SQLException: ORA-01006: 绑定变量不存在
这是什么异常啊
这是什么异常啊
解决方案 »
- oracle除了安装数据以外是不是还要安装相应的开发工具啊!
- 怎样删除WindowsODBC中Oracle的数据访问驱动程序
- PL/SQL 对比个表的数据是否完全相同
- DBConsole 服务启动问题???
- 关于权限授予问题的一道题,求解
- 请问set heading off; set term off; set echo off 这些都干嘛用的?
- 复杂索引中出现多个字段,对多个字段的不同使用师父出现不同的效率,请问怎么确定这个相应的效率问题?
- 菜鸟的一个sql的问题,大家帮忙啊。
- 高手进来看看
- 这个语句怎么写?
- 请问在oracle中如何批量更新一列记录?在线等待,各位大虾帮帮忙吧……
- 数据库初学者的问题,求大神解答,帆船书上的一个习题
如果是的话,你可能写错了绑定变量,你用单引号将绑定变量给引住了?
绑定变量是一个整体的东西,不需要用单引号,用了单引号就不是绑定变量了
import java.sql.*;
import java.util.*;public class TestPreStat {
public static void main(String[] agrs){
Scanner sc = new Scanner(System.in);
Connection conn = null;
PreparedStatement pstam = null;
ResultSet rs = null;
int deptno = 0;
String dname = "";
String loc = "";
System.out.println("输入部门编号:");
deptno = sc.nextInt();
System.out.println("输入部门名称:");
dname = sc.next();
System.out.println("输入部门地址:");
loc = sc.next();
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
pstam = conn.prepareStatement("insert into dept values (?,?,?)");
pstam.setInt(1,deptno);
pstam.setString(2, dname);
pstam.setString(3, loc);
pstam.executeUpdate();
rs = pstam.executeQuery("select * from dept");
while(rs.next()){
System.out.println(rs.getString("deptno")+"\t"+rs.getString("dname")+"\t"+rs.getString("loc"));
}
} catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e){
e.printStackTrace();
} finally {
try{
if(rs != null){
rs.close();
}
if(pstam != null){
pstam.close();
}
if(conn != null){
conn.close();
}
} catch (SQLException e){
e.printStackTrace();
}
}
}
}
pstam是一个preparedStatement,不能这么用。因为它要求要绑定变量,所以出现你说的错。在oracle jdbc中,你得定义一个新的statement
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select * from dept");