Solved

How can I change this code to display to JOptionPane instead of println?

Posted on 2008-10-25
6
304 Views
Last Modified: 2012-05-05
I need to display this code in JOptionPane.
con = DriverManager.getConnection(url,
"myLogin", "myPassword");
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
int rowCount = 1;
while (rs.next()) {
System.out.println("Row " + rowCount + ": ");
for (int i = 1; i <= numberOfColumns; i++) {
System.out.print(" Column " + i + ": ");
System.out.println(rs.getString(i));
}
System.out.println("");
rowCount++;
}

Open in new window

0
Comment
Question by:glynco
  • 4
  • 2
6 Comments
 

Author Comment

by:glynco
ID: 22805811
Here is with JOptionPane but how can I display all at once?

int rowCount = 1;
String columncontent;
while (uprsInventory.next()) {
System.out.println("Row " + rowCount + ": ");
for (int i = 1; i <= InventorynumberOfColumns; i++) {
    
                JOptionPane.showMessageDialog(null,
                "Column " +i);
                
                columncontent = uprsInventory.getString(i);
                
                JOptionPane.showMessageDialog(null,
                "column content " + columncontent );
                
                }
rowCount++;
 
}

Open in new window

0
 

Author Comment

by:glynco
ID: 22805821
Something like this. But I got errors.
Illegal start of expression.
int rowCount = 1;
String columncontent;
while (uprsInventory.next()) {
System.out.println("Row " + rowCount + ": ");
                
                JOptionPane.showMessageDialog(null,
                        for (int i = 1; i <= InventorynumberOfColumns; i++) {
                        columncontent = uprsInventory.getString(i);
                        "i " + i + "\n "
                        +"column content " + columncontent);                      
                        }
rowCount++;
 
}

Open in new window

0
 
LVL 59

Accepted Solution

by:
Kevin Cross earned 500 total points
ID: 22805884
You can't look within the message dialog like that.

You can show the output in a different component like a JTable or JComboBox, but if you want to use showMessageDialog you must use the for loop to build a string -- you can use the \n (or \n\r) to make multiple lines like you are trying to do above.

After you have your string variable, you can call:

JOptionPane.showMessageDialog(null, strData);
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:glynco
ID: 22805900
You mean I will concatenate all the strings?
0
 

Author Comment

by:glynco
ID: 22805926
It works.
But the page generated so big it won't fit the screen.


    int InventorynumberOfColumns = uprsInventoryMetaData.getColumnCount();
 
    String newstring1, newstring2;
newstring2 = "";
while (uprsInventory.next ()) {
for (int i=1; i<=InventorynumberOfColumns; i++) {
String columnName = uprsInventoryMetaData.getColumnLabel(i);
//System.out.print(columnName + ": ");
String columnValue = uprsInventory.getString(i);
//System.out.println(columnValue);
newstring1 = columnName + " " + columnValue;
newstring2 = newstring2 + newstring1 + "\n";
//System.out.println("String1:" + newstring1);
 
}
JOptionPane.showMessageDialog(null, newstring2);
//System.out.println("String2:" + newstring2);
//System.out.println("");
//System.out.println("");
}
 
 
stmtInventory.close();
conn.close();
}

Open in new window

0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22805947
I more of a business objects/server-side programmer; therefore, there may be better GUI solutions than my suggestion, but you can try a JTable instead.

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTable.html

Hope that helps.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to get all the API from website? 11 106
ejb stateless example 2 27
ejb on wildfly 5 30
Java class and jar 3 25
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question