gpt4 book ai didi

java - 单击按钮时选择行时从多个表获取数据

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

我尝试运行下面的代码,但每次运行它时,它都不起作用。任何人都可以强调一下我做错了什么吗?

代码应该做的是:

我必须在数据库中创建一个名为 r 的表和另一个名为 sa 的表,表 r 包含表示作为外键的列。在我的java前端中,我在一个jpanel中有一个Jtable,在另一个jpanel中有一个更新按钮。当用户在 jtable 中选择一行然后单击更新时。如果 jtable r 中选定的行将 sa id 作为外键,该工具将在文本框中显示来自 r 的数据以及来自 sa 的数据。

代码

               if(updateClicked == true){
btnSubmit.setVisible(false);
btnUpdate.setVisible(true);
btnNew.setEnabled(false);
Statement st;
PreparedStatement ps;

ResultSet rs;
try {
String rid = table.getValue(0);
JOptionPane.showMessageDialog(null, rid);
String rq ="SELECT * FROM `r` WHERE 'r_id`=' "+rid+"'";
ps = Login.con.prepareStatement(rq);
rs = ps.executeQuery();
String saID = rs.getString(2);

String q = "SELECT sa.Argument FROM sa, r WHERE r.sid ="+sID ;
st = Login.con.createStatement();
rs = st.executeQuery(q);

String argu = rs.getString(1);
System.out.println(argu);

if (argu.isEmpty()==false){
btnAddSA.doClick();
txtaArg.setText(argu);

}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

控制台输出

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:“where 子句”中存在未知列“R0004”

最佳答案

首先给你的表指定正确的名称。 “r”和“sa”没有任何意义。

我不知道你的SQL有什么问题,但我建议你使用PreparedStatement。它使 SQL 编码变得更加容易,因此您不必担心分隔符类型错误。

一个基本的例子是:

String sql = "INSERT INTO Page (Name, Title) VALUES (?, ?)";

PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString( 1, "Name1" );
stmt.setString( 2, "Title1" );
stmt.executeUpdate();

您可以搜索论坛或网络以获取更多信息。

关于java - 单击按钮时选择行时从多个表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15713360/

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