在SQL查询中使用Java中声明的变量

时间:2010-11-26 15:40:01

标签: java derby

k所以我在Java中使用Apache Derby创建了一个名为dictionaryDatabase的数据库。该数据库有一个名为dictionaryTable的表,包含两列,wrongWord和rightWord。 这是我到目前为止所做的:

String keyWord = "test";

getWords = conn.prepareStatement(
        "SELECT wrongWord FROM dictionaryTable WHERE wrongWord = (?)");

现在,对于与keyWord匹配的每个错误的字,我希望从错误字符值与keyWord匹配的同一行中的rightWord列中检索值。

我尝试过以下操作,但这不起作用:

ResultSet existingKeywords = getWords.executeQuery();

while (existingKeywords.next()) {
 //Get rightWord column values here
}

我应该在这做什么,我是否走在正确的轨道上?

谢谢!

1 个答案:

答案 0 :(得分:4)

您基本上从此SQL返回wrongWord

SELECT wrongWord FROM dictionaryTable WHERE wrongWord = (?)

为什么不创建像

这样的SQL
SELECT rightWord FROM dictionaryTable WHERE wrongWord = (?)

while循环中,执行

while (existingKeywords.next()) {
 //Get rightWord column values here
    String rightWord = existsingKeywords.getString("rightWord");
}

很明显,我正在吮吸拇指,因为我不知道列dictionaryTable包含什么,所以这是一个假设。

另外,我还没有展示如何管理JDBC连接。