如何将参数作为字符串发送

时间:2010-12-16 12:48:55

标签: java jdbc

我正在尝试执行以下操作:

String dbURL= "jdbc:oracle:thin:@HOST:PORT:DB,USERNAME,PASSWORD";
//Statement stmt = conn.createStatement(dbURL);

conn.createStatment期待3个参数,而不只是1个字符串,所以我得到一个错误。是否可以将它们全部放在一个字符串中并传递它?我知道这不是解决这个问题的正确方法,但我也要求将来参考。

编辑:我的错误。我的意思是

Connection conn = DriverManager.getConnection(URL)

3 个答案:

答案 0 :(得分:3)

请改用PreparedStatement。它应该将SQL查询作为参数。您的连接字符串应该传递给DriverManager.getConnection()方法

答案 1 :(得分:2)

正如其他人所指出的,你所做的事情是行不通的。使用此:

String dbURL= "jdbc:oracle:thin:@HOST:PORT:DB,USERNAME,PASSWORD";
Connection conn = DriverManager.getConnection(dbURL);
PreparedStatement ps = conn.prepareStatement("your SQL");

第一行是您的数据库网址。

第二行将使用db URL获取实际连接。

第三行将允许您从连接中获取准备好的声明。

这种模式被广泛使用,所以你也应该使用它(除非你在Java EE中,获取数据库连接的工作方式有所不同)。

答案 2 :(得分:0)

使用JDBC需要几个步骤。通常他们是:

  1. 创建连接;
  2. 创建声明(或预备声明);
  3. 执行声明;
  4. 处理结果;
  5. 关闭资源(结果集,语句,连接)。
  6. 我有一种感觉,你不确定JDBC的基础知识。看看JDBC tutorial

相关问题