你如何使用变量查询数据库?动态SQL ......?

时间:2016-05-19 06:56:30

标签: sql database postgresql dynamic-sql

我想知道如何使用SQL查询中的给定变量或数组搜索数据库表。我目前正在使用Java和PostgreSQL,我想做类似的事情:

String word = "Apples";
SELECT * FROM table WHERE name = word;

token[0] = "Apples";
SELECT * FROM table WHERE name = token[0};

有谁知道这样做的正确方法?

我的最终目标只是检查数据库,看看用户输入的单词是否存储在数据库中,然后是否对该单词执行某些操作。

2 个答案:

答案 0 :(得分:3)

使用PrepareStatement,例如

String word = "Apples";
PreparedStatement st = conn.prepareStatement("SELECT * FROM table WHERE name = ?");
st.setString(1, word);
ResultSet rs = st.executeQuery();

答案 1 :(得分:0)

如果要在java端获取数据,请执行以下操作:

Connection con = DriverManager.getConnection
  ("jdbc:derby://localhost:1527/testDb","name","pass");
  PreparedStatement updateemp = con.prepareStatement
  ("insert into emp values(?,?,?)");
  updateemp.setInt(1,23);
  updateemp.setString(2,"Roshan");
  updateemp.setString(3, "CEO");
  updateemp.executeUpdate();
  Statement stmt = con.createStatement();
  String query = "select * from emp";
  ResultSet rs =  stmt.executeQuery(query);

查看完整详情: Here