0
다음 코드를 사용하여 데이터베이스에서 JComboBox
으로 데이터를 검색합니다. 제대로 작동했습니다. 내 문제는이 코드를 실행할 때 jCombobox의 항목을 클릭하면 텍스트 상자에서 클릭 한 항목에 StudId
이 필요하지만이 코드는 첫 번째 요소의 ID 만 반환합니다. 다른 항목을 클릭하면 텍스트 상자 값이 변경되지 않습니다. 이 코드에서 항목 변경된 옵션을 사용하는 방법?JComboBox에 mysql 데이터베이스 값 검색
package designstudent;
import java.awt.*;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.*;
import java.beans.EventHandler;
import javax.swing.table.DefaultTableModel;
import java.sql.*;
import java.util.ArrayList;
import java.util.jar.Attributes.Name;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import java.util.ArrayList.*;
import javax.swing.*;
public class FrmeA extends javax.swing.JFrame {
// private JComboBox cbx1;
// private JLabel lbl1;
//private ArrayList<String> Name=new ArrayList<String>();
//private ArrayList<String> Id=new ArrayList<String>();
FrmA1 f1=new FrmA1();
Statement TmpFlxTSt=null;
ResultSet TmpFlxTRs=null;
GContnStr GCS=new GContnStr();
Object ob= new Object();
public FrmeA() {
initComponents();
}
/*public void combo(){
try{
GCS.GContnStr();
TmpFlxTSt= GCS.GCotnStr.createStatement();
String select = "Select StudName,StudId from studentmaster";
TmpFlxTRs = TmpFlxTSt.executeQuery(select);
while(TmpFlxTRs.next())
{
Name.add(TmpFlxTRs.getString("StudName"));
cbx.addItem(Name);
Id.add(TmpFlxTRs.getString("StudId"));
}
for(int i=0;i<Name.size();i++){
System.out.println(Name.get(i).toString());
}
for(int i=0;i<Id.size();i++){
System.out.println(Id.get(i).toString());
}
//String addname=TmpFlxTRs.getString("StudName");
//Name.add(addname);
//addname.toString();
//cbx.addItem(addname);
TmpFlxTRs.close();
TmpFlxTSt.close();
}
catch(Exception e){
System.out.println(e);
}
}*/
public void combo1(){
try{
GCS.GContnStr();
TmpFlxTSt= GCS.GCotnStr.createStatement();
String select = "Select StudName from studentmaster";
TmpFlxTRs = TmpFlxTSt.executeQuery(select);
while(TmpFlxTRs.next())
{
String addname=TmpFlxTRs.getString("StudName");
addname.toString();
cbx.addItem(addname);
ob=cbx.getSelectedItem();
}
//ob=cbx.getSelectedItem();
String st=ob.toString();
combo2(st);
//TmpFlxTRs.close();
//TmpFlxTSt.close();
}
catch(Exception e){
System.out.println(e);
}
}
public void combo2(String Name){
try{
GCS.GContnStr();
TmpFlxTSt= GCS.GCotnStr.createStatement();
System.out.println(Name);
String select = "Select StudId from studentmaster where StudName='"+Name+"'";
TmpFlxTRs = TmpFlxTSt.executeQuery(select);
while(TmpFlxTRs.next())
{
Txt01.setText(TmpFlxTRs.getString("StudId"));
System.out.println();
}
TmpFlxTRs.close();
TmpFlxTSt.close();
}
catch(Exception e){
System.out.println(e);
}
}
private void cbxActionPerformed(java.awt.event.ActionEvent evt) {
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
FrmeA fr=new FrmeA();
fr.combo1();
//fr.combo1();
fr.setVisible(true);
//fr.initconn();
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton CmdA;
private javax.swing.JButton CmdD;
private javax.swing.JButton CmdE;
private javax.swing.JTable FlxT;
private javax.swing.JTextField Txt01;
private javax.swing.JComboBox cbx;
private javax.swing.JComboBox cbx2;
private javax.swing.JButton cmdQ;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lbl;
// End of variables declaration
}
다음 번에 질문과 관련이없는 경우 주석 코드를 삭제하십시오. 그리고 당신의 문제를 보여주는 최소한으로 코드를 간소화하십시오. – SJuan76