Java多表查询
我想用2个表进行查询,但是,我不能 这是代码,但不起作用 有什么想法吗Java多表查询,java,mysql,Java,Mysql,我想用2个表进行查询,但是,我不能 这是代码,但不起作用 有什么想法吗 Class.forName("com.mysql.jdbc.Driver"); Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/kalandpark","root",""); Statement stmt=null; ResultSet rs
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/kalandpark","root","");
Statement stmt=null;
ResultSet rs=null;
// int vk=(Integer)jList1.getSelectedValue();
String vk=vkTF.getText();
String SQL="Select * from belepes where vonalkod="+vk+" and belepes.jegytipus=jegy.jegytipus";
stmt=(Statement) con.createStatement();
rs=stmt.executeQuery(SQL);
jTextField1.enableInputMethods(false);
while (rs.next())
{
int uvk= (int) rs.getDouble("vonalkod");
String jegyt= rs.getString("jegytipus");
String belep= rs.getString("belepett");
String idolejar= rs.getString("idolejar");
String kilepett= rs.getString("kilepett");
int ssz= rs.getInt("sorszam");
int ar = rs.getInt("ar");
String jegyt2= rs.getString("jegytipus");
jvonalkoD.setText(""+uvk);
jJegytipuS.setText(jegyt);
jbelepetT.setText(belep);
jidolejaR.setText(idolejar);
jkilepetT.setText(kilepett);
jar.setText(""+ar);
}
你说有两张桌子,但在from子句中只有一张桌子。您需要包括到jegy表的联接。如果我的猜测正确,jegy是另一个表吗?那样的话,试试这个
String SQL="SELECT * FROM belepes A LEFT JOIN jegy B ON B.jegytipus = A.jegytipus WHERE vonalkod='"+vk+"'";
首先,学习。你似乎缺乏基本知识
接下来,永不,永不,永不在Java中将值连接到SQL字符串中,如下所示:
String SQL="Select * from belepes where vonalkod="+vk+" and belepes.jegytipus=jegy.jegytipus";
相反,请在PreparedStatement中使用setter方法 问题解决了
这是正确的SQL
字符串SQL=Select*from belepes b inner join jegy j on b.jegytipus=j.jegytipus,其中b.vonalkod=+vk 如果我的猜测是正确的,您想将表jegy和表belepes组合起来吗?执行类似操作:从belepes b、jegy j中选择*其中b.vonalkod=+vk+和b.jegytipus=j.jegytipus如果您回答包含的将参数连接到sql查询中,你的答案是错误的。这是一个使用他的语句的指针,而不完全是ans。让他找出什么适合他的要求&当然,如何构造查询。