请,我正在开发一个应用程序,我需要从数据库中选择一个表格,即表格必须始终在该选择面板上可用。 我创建了一个方法来显示数据库中的所有可用表,并且该方法存在于我的构造函数中。 现在,只有一个表显示需要的地方,我试图将表设置为jTextFieds,但仍然显示其中一个表。 请问我如何解决这个问题,将所有可用的表格显示到指定的文本字段,并从那里开始,我将把它们设置为jCombobox。 贝娄是我的片段:
public void combo(){
try {
String sql="SHOW TABLES FROM cctdba";
//SQL for selecting the table cctdba Database
pst = conn.prepareStatement(sql);
rs=pst.executeQuery(sql);
while (rs.next()) {
jTextField1.setText(rs.getString(1));
jTextField2.setText(rs.getString(2));
//Displaying the first two tables into the textfield(Unresloved)
}
// TODO add your handling code here:
}
catch(Exception e){
}
}
我需要帮助。 感谢
答案 0 :(得分:0)
我认为“select * from information_schema.tables”对您来说没问题
答案 1 :(得分:0)
您的问题是您正在设置和重置文本字段。您需要为每个结果添加更多文本字段,或者需要构建连接字符串。
rs=pst.executeQuery(sql);
string allNames1;
string allNames2;
while (rs.next()) {
allNames1 += rs.getString(1) +" ";
allNames2 += rs.getString(2) +" ";
}
jTextField1.setText(allNames1);
jTextField2.setText(allNames2);
答案 2 :(得分:0)
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='cctdba'
答案 3 :(得分:0)
我认为您应该使用列表作为数据模型来加载您拥有的所有可用表。
试试这个:
int i = 1;
List<String> data = new Arraylist<>();
while (rs.next()) {
data.add(rs.getString(i));
i++;
}
JList<String> myJList = new JList<String>(data);
然后使用面板中的myJList
对象。