Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要在java中显示从mysql数据库检索到的多个数据吗_Java_Mysql_Jdbc - Fatal编程技术网

要在java中显示从mysql数据库检索到的多个数据吗

要在java中显示从mysql数据库检索到的多个数据吗,java,mysql,jdbc,Java,Mysql,Jdbc,还有我的数据库 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/amd", "root", ""); PreparedStatement ps = con.prepareStatement("select *from neighbour_node where node_name='" + nodename + "' "); ResultSet rs = ps.executeQuery(); while (rs.next

还有我的数据库

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/amd", "root", "");
PreparedStatement ps = con.prepareStatement("select *from neighbour_node where node_name='" + nodename + "' ");
ResultSet rs = ps.executeQuery();
while (rs.next()) {

    String neigh = rs.getString(2);
    jTextField1.setText(neigh);
}
如果我的输入为“a”,则将“b”显示为相邻节点

如果我的输入为“b”,则将“a”和“c”显示为相邻节点

但在我输入“b”的代码中,它只将“c”显示为相邻节点


如何更正我的代码以显示多个数据。

您似乎在寻找JTable,或者每次都创建一个新的JTextField

编辑:我同意@Tim的观点,选择所有内容可能是个坏主意

您可以使用
列表
而不是
字符串
,例如:

node_name:       a b b

node_neighbour:  b a c
注意

因为您正在使用
PreparedStatement
为什么不这样使用

for(String s : list){
   System.out.println(s);
}
嗯?你用

PreparedStatement ps = 
       con.prepareStatement("select * from neighbour_node where node_name = ?");
ps.SetString(1, nodename);

在一段时间内循环。当然,它每次都会被覆盖,并且只会得到最后找到的值。您应该在一个字符串中收集所有值,并在末尾设置字段。

您当前选择的是所有列,这可能是个坏主意。请更新您的问题并向我们展示表结构和预期输出。您可能想考虑什么是<代码> jTeXField1.StEtgs<代码>…覆盖这些值,只显示最后返回的值。相反,您可能希望构造一个值列表,并且只在loop.PreparedStatement ps=con.prepareStatement(“select*from neighbor_node,其中node_name='“+nodename+””)之后调用
jTextField1.setText
;PreparedStatement ps=con.prepareStatement(“从邻居节点中选择*,其中节点名称=”“+nodename+””);例如,上面的查询检索到匹配的数据,比如nodename“b”,它检索到2个数据,比如“a”和“c”。而(rs.next())字符串neigh=rs.getString(2);jTextField1.setText(neigh);在这段代码中,我使用单个文本字段来显示结果。根据我的要求,如果查询从数据库检索到多个数据,我如何显示我的jframe。您可以使用JTable代替jtextfield,您可以在此处查看
PreparedStatement ps = 
       con.prepareStatement("select * from neighbour_node where node_name = ?");
ps.SetString(1, nodename);
jTextField1.setText(neigh);