gpt4 book ai didi

java - 我的java程序中的一行SQL出现问题

转载 作者:行者123 更新时间:2023-12-01 04:32:54 24 4
gpt4 key购买 nike

所以该程序是连接到 .mdb 文件作为我们的数据库。我已将所有其他代码写入该程序,并且知道它工作正常,但我现在在将复杂的 SQL 语句作为参数传递给 createQuery(Sring, int) 方法时遇到问题。

有两个表人员,包含姓名、ID、城市、州类(class),包含 ID、类(class)、成绩

该行的预期目的是从人员表中打印“姓名和 ID”,并从类(class)表中打印“类(class)和成绩”。该查询仅打印特定类(class)(“CSC 225”)中具有匹配 ID(Person.Id = Classes.Id)且成绩 > 70 的条目。

我们从未深入学习过 SQL 语句,因此我的基本理解编写了以下代码行。

String s = "SELECT " + personTableTitle + ".Name, " + personTableTitle + ".Id, " + 
classesTableTitle + ".Course, " + classesTableTitle + ".Grade FROM " +
personTableTitle + " " + classesTableTitle + " WHERE " +
personTableTitle + ".ID = " + classesTableTitle + ".Id AND " +
"Course = 'CIS 225' AND " + classesTableTitle + ".Grade > 70 AND " +
personTableTitle + ".Id = ? AND " + classesTableTitle + ".Id = ?";

System.out.print(s); // Double check of my SQL Statement before passing

db.createQuery(s, 4);

我从周三晚上开始就一直在玩这个 SQL 语句,但运气不太好。

最佳答案

我只看到两个问题。 Sql 需要在 FROM 子句中的表名之间使用逗号,即 ...FROM table1, table2 WHERE...。所以将你的行更改为

             personTableTitle + ", " + classesTableTitle + " WHERE " +

下一个可能不是问题,但最好在每个字段引用前面包含表名称。

             classesTableTitle + ".Course = 'CIS 225' AND " + classesTableTitle + ".Grade > 70 AND " +

关于java - 我的java程序中的一行SQL出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com