如何在JDBC中使用&符号?

时间:2013-10-10 11:14:06

标签: oracle jdbc

在oracle中我们以类似的方式使用select * from table_name where column_name=&value如何在JDBC中使用&符号?

stmt = conn.createStatement();
      String sql;
      sql="select emp_name from employees"+" where emp_no=?";
      ResultSet rs=stmt.executeQuery(sql);
      while(rs.next()){
          String emp_name=rs.getString("emp_name");
        System.out.println(emp_name);  

      }

我写了上面的代码,但它没有工作(显示错误)

2 个答案:

答案 0 :(得分:3)

您是否阅读了我提供链接的文章?

使用问号?指出查询中要指定参数的位置,并且必须使用PreparedStatement。我无法测试它,但它应该是这样的:

// some code to obtain the Connection object

PreparedStatement stmt = null;
String yourQuery = " SELECT emp_name FROM employees WHERE emp_no = ? ";

try {
  stmt = conn.prepareStatement(yourQuery);
  stmt.setLong(1, 252);

  ResultSet rs = stmt.executeQuery();

  while(rs.next()) {
    String emp_name = rs.getString("emp_name");
    System.out.println(emp_name);
  } 
} finally {
  // close the stmt etc.
}

答案 1 :(得分:2)

我建议使用PreparedStatement - 来自内存,它就像

Connection conn = getConnection();
PreparedStatement pstmnt = conn.prepareStatement("Select * from employees where emp_no =?");
pstmnt.setLong(1,emp_no);
ResultSet rs = pstmnt.executeQuery();

但@Przemyslaw Kruglej上面提到的高亮度的链接几乎肯定会有一个很好的例子(我还没读过它......)