gpt4 book ai didi

java - 选择从 MySql 到 Java 的多列

转载 作者:行者123 更新时间:2023-12-01 16:25:58 24 4
gpt4 key购买 nike

我有一个 MySql 数据库,其中包含一个 VARCHAR 字段(此处称为 nev)和几个 INT

database

我想要的是选择列中包含“w”(w0、w1 等)的所有整数并将其放入数组或 ArrayList 中。并选择列中具有“b”的那些。我只想选择那些具有来自另一个类的特定“nev”的值。

这是迄今为止我的代码:

public static Connection qry(){
Connection qry=null;
try {
qry=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/feladat","admin","admin");
String query ="SELECT * FROM pontszamok WHERE nev="+GUI.selected;
Statement st2;
st2 = qry.createStatement();
ResultSet rs = st2.executeQuery(query);

while (rs.next())
{


}
st2.close();
} catch (SQLException e) {
System.out.println(e);
}
return qry;

解决方案应该是什么?

最佳答案

这是一个如何获取 w0nev 列的值并将它们存储到 List 中的示例,您可以执行以下操作对于您想要的所有列都采用相同的方式

List<Integer> myValuesW0 = new ArrayList<Integer>();
List<String> myValuesNev = new ArrayList<String>();

while (rs.next())
{
myValuesW0.add(rs.getInt("w0")); //the name of the column not the value
myValuesNev.add(rs.getString("nev")); //for String Values
.
.
//the same treatment for the rest
}

此外,您的查询中存在错误,因为“nev”是 varchar 类型,因此您必须在值上应用单引号 ( ' ' )这样:

String query ="SELECT * FROM pontszamok WHERE nev= '"+GUI.selected+"' ";

或者您也可以使用此方法:

String query ="SELECT * FROM pontszamok WHERE nev= ? ";
query.setParameter(1, GUI.selected);
//replace the first question mark (?) with the variable GUI.selected
//this way you can avoid being confused between the quotation marks

关于java - 选择从 MySql 到 Java 的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62147691/

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