{"id":26850,"date":"2021-05-03T23:10:04","date_gmt":"2021-05-04T03:10:04","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/recent-posts\/queryviewer-java-an-interactive-database-query-viewer-programming-code-examples-java-j2ee-j2me-jdbc\/"},"modified":"2021-05-03T23:10:04","modified_gmt":"2021-05-04T03:10:04","slug":"queryviewer-java-an-interactive-database-query-viewer-programming-code-examples-java-j2ee-j2me-jdbc","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=26850","title":{"rendered":"QueryViewer.java: An interactive database query viewer #Programming Code Examples #Java\/J2EE\/J2ME #JDBC"},"content":{"rendered":"<pre>\n# QueryViewer.java  An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file:\n\n    * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used to store the results from a database query). \n############################################################################\n\n  package cwp;\n\nimport java.awt.*;\nimport java.awt.event.*;\nimport javax.swing.*;\nimport javax.swing.table.*;\n\n\/** An interactive database query viewer. Connects to\n *  the specified Oracle or Sybase database, executes a query,\n *  and presents the results in a JTable.\n *  <p>\n *\/\n\npublic class QueryViewer extends JFrame\n                         implements ActionListener{\n  public static void main(String[] args) {\n    new QueryViewer();\n  }\n\n  private JTextField hostField, dbNameField,\n                     queryField, usernameField;\n  private JRadioButton oracleButton, sybaseButton;\n  private JPasswordField passwordField;\n  private JButton showResultsButton;\n  Container contentPane;\n  private JPanel tablePanel;\n  \n  public QueryViewer () {\n    super(&quot;Database Query Viewer&quot;);\n    WindowUtilities.setNativeLookAndFeel();\n    addWindowListener(new ExitListener());\n    contentPane = getContentPane();\n    contentPane.add(makeControlPanel(), BorderLayout.NORTH);\n    pack();\n    setVisible(true);\n  }\n\n  \/** When the &quot;Show Results&quot; button is pressed or\n   *  RETURN is hit while the query textfield has the\n   *  keyboard focus, a database lookup is performed,\n   *  the results are placed in a JTable, and the window\n   *  is resized to accommodate the table.\n   *\/\n  \n  public void actionPerformed(ActionEvent event) {\n    String host = hostField.getText();\n    String dbName = dbNameField.getText();\n    String username = usernameField.getText();\n    String password =\n      String.valueOf(passwordField.getPassword());\n    String query = queryField.getText();\n    int vendor;\n    if (oracleButton.isSelected()) {\n      vendor = DriverUtilities.ORACLE;\n    } else {\n      vendor = DriverUtilities.SYBASE;\n    }\n    if (tablePanel != null) {\n      contentPane.remove(tablePanel);\n    }\n    tablePanel = makeTablePanel(host, dbName, vendor,\n                                username, password,\n                                query);\n    contentPane.add(tablePanel, BorderLayout.CENTER);\n    pack();\n  }\n\n  \/\/ Executes a query and places the result in a\n  \/\/ JTable that is, in turn, inside a JPanel.\n  \n  private JPanel makeTablePanel(String host,\n                                String dbName,\n                                int vendor,\n                                String username,\n                                String password,\n                                String query) {\n    String driver = DriverUtilities.getDriver(vendor);\n    String url = DriverUtilities.makeURL(host, dbName, vendor);\n    DBResults results =\n      DatabaseUtilities.getQueryResults(driver, url,\n                                        username, password,\n                                        query, true);\n    JPanel panel = new JPanel(new BorderLayout());\n    if (results == null) {\n      panel.add(makeErrorLabel());\n      return(panel);\n    }\n    DBResultsTableModel model =\n      new DBResultsTableModel(results);\n    JTable table = new JTable(model);\n    table.setFont(new Font(&quot;Serif&quot;, Font.PLAIN, 17));\n    table.setRowHeight(28);\n    JTableHeader header = table.getTableHeader();\n    header.setFont(new Font(&quot;SansSerif&quot;, Font.BOLD, 13));\n    panel.add(table, BorderLayout.CENTER);\n    panel.add(header, BorderLayout.NORTH);\n    panel.setBorder\n      (BorderFactory.createTitledBorder(&quot;Query Results&quot;));\n    return(panel);\n  }\n\n  \/\/ The panel that contains the textfields, checkboxes,\n  \/\/ and button.\n  \n  private JPanel makeControlPanel() {\n    JPanel panel = new JPanel(new GridLayout(0, 1));\n    panel.add(makeHostPanel());\n    panel.add(makeUsernamePanel());\n    panel.add(makeQueryPanel());\n    panel.add(makeButtonPanel());\n    panel.setBorder\n      (BorderFactory.createTitledBorder(&quot;Query Data&quot;));\n    return(panel);\n  }\n\n  \/\/ The panel that has the host and db name textfield and\n  \/\/ the driver radio buttons. Placed in control panel.\n  \n  private JPanel makeHostPanel() {\n    JPanel panel = new JPanel();\n    panel.add(new JLabel(&quot;Host:&quot;));\n    hostField = new JTextField(15);\n    panel.add(hostField);\n    panel.add(new JLabel(&quot;    DB Name:&quot;));\n    dbNameField = new JTextField(15);\n    panel.add(dbNameField);\n    panel.add(new JLabel(&quot;    Driver:&quot;));\n    ButtonGroup vendorGroup = new ButtonGroup();\n    oracleButton = new JRadioButton(&quot;Oracle&quot;, true);\n    vendorGroup.add(oracleButton);\n    panel.add(oracleButton);\n    sybaseButton = new JRadioButton(&quot;Sybase&quot;);\n    vendorGroup.add(sybaseButton);\n    panel.add(sybaseButton);\n    return(panel);\n  }\n\n  \/\/ The panel that has the username and password textfields.\n  \/\/ Placed in control panel.\n  \n  private JPanel makeUsernamePanel() {\n    JPanel panel = new JPanel();\n    usernameField = new JTextField(10);\n    passwordField = new JPasswordField(10);\n    panel.add(new JLabel(&quot;Username: &quot;));\n    panel.add(usernameField);\n    panel.add(new JLabel(&quot;    Password:&quot;));\n    panel.add(passwordField);\n    return(panel);\n  }\n\n  \/\/ The panel that has textfield for entering queries.\n  \/\/ Placed in control panel.\n  \n  private JPanel makeQueryPanel() {\n    JPanel panel = new JPanel();\n    queryField = new JTextField(40);\n    queryField.addActionListener(this);\n    panel.add(new JLabel(&quot;Query:&quot;));\n    panel.add(queryField);\n    return(panel);\n  }\n\n  \/\/ The panel that has the &quot;Show Results&quot; button.\n  \/\/ Placed in control panel.\n  \n  private JPanel makeButtonPanel() {\n    JPanel panel = new JPanel();\n    showResultsButton = new JButton(&quot;Show Results&quot;);\n    showResultsButton.addActionListener(this);\n    panel.add(showResultsButton);\n    return(panel);\n  }\n\n  \/\/ Shows warning when bad query sent.\n  \n  private JLabel makeErrorLabel() {\n    JLabel label = new JLabel(&quot;No Results&quot;, JLabel.CENTER);\n    label.setFont(new Font(&quot;Serif&quot;, Font.BOLD, 36));\n    return(label);\n  }\n}\n<\/p><\/pre>\n<p>Note: Brought from our old site: http:\/\/www.salearningschool.com\/example_codes\/ on Jan 2nd, 2017 From: http:\/\/sitestree.com\/?p=10208<br \/> Categories:Programming Code Examples, Java\/J2EE\/J2ME, JDBC<br \/>Tags:Java\/J2EE\/J2MEJDBC<br \/> Post Data:2017-01-02 16:04:23<\/p>\n<p>\t\tShop Online: <a href='https:\/\/www.ShopForSoul.com\/' target='new' rel=\"noopener\">https:\/\/www.ShopForSoul.com\/<\/a><br \/>\n\t\t(Big Data, Cloud, Security, Machine Learning): Courses: <a href='http:\/\/Training.SitesTree.com' target='new' rel=\"noopener\"> http:\/\/Training.SitesTree.com<\/a><br \/>\n\t\tIn Bengali: <a href='http:\/\/Bangla.SaLearningSchool.com' target='new' rel=\"noopener\">http:\/\/Bangla.SaLearningSchool.com<\/a><br \/>\n\t\t<a href='http:\/\/SitesTree.com' target='new' rel=\"noopener\">http:\/\/SitesTree.com<\/a><br \/>\n\t\t8112223 Canada Inc.\/JustEtc: <a href='http:\/\/JustEtc.net' target='new' rel=\"noopener\">http:\/\/JustEtc.net (Software\/Web\/Mobile\/Big-Data\/Machine Learning) <\/a><br \/>\n\t\tShop Online: <a href='https:\/\/www.ShopForSoul.com'> https:\/\/www.ShopForSoul.com\/<\/a><br \/>\n\t\tMedium: <a href='https:\/\/medium.com\/@SayedAhmedCanada' target='new' rel=\"noopener\"> https:\/\/medium.com\/@SayedAhmedCanada <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p># QueryViewer.java An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used to store the results from a &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=26850\">Continue reading<\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1917],"tags":[],"class_list":["post-26850","post","type-post","status-publish","format-standard","hentry","category-fromsitestree-com","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":10126,"url":"http:\/\/bangla.sitestree.com\/?p=10126","url_meta":{"origin":26850,"position":0},"title":"QueryViewer.java: An interactive database query viewer","author":"","date":"August 8, 2015","format":false,"excerpt":"# QueryViewer.java\u00a0 An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: \u00a0\u00a0\u00a0 * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10128,"url":"http:\/\/bangla.sitestree.com\/?p=10128","url_meta":{"origin":26850,"position":1},"title":"extract relevant data from a DBResults","author":"","date":"August 6, 2015","format":false,"excerpt":"# QueryViewer.java\u00a0 An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: \u00a0\u00a0\u00a0 * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10106,"url":"http:\/\/bangla.sitestree.com\/?p=10106","url_meta":{"origin":26850,"position":2},"title":"FruitTest.java: A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the &#8220;fruits&#8221; table.","author":"","date":"August 2, 2015","format":false,"excerpt":"# FruitTest.java\u00a0 A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the \"fruits\" table. package cwp; import java.sql.*; \/** A JDBC example that connects to either an Oracle or \u00a0*\u00a0 a Sybase database and prints out the values\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26822,"url":"http:\/\/bangla.sitestree.com\/?p=26822","url_meta":{"origin":26850,"position":3},"title":"FruitTest.java:  A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the &quot;fruits&quot; table. #Programming Code Examples #Java\/J2EE\/J2ME #JDBC","author":"Author-Check- Article-or-Video","date":"May 2, 2021","format":false,"excerpt":"# FruitTest.java A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the \"fruits\" table. package cwp; import java.sql.*; \/** A JDBC example that connects to either an Oracle or * a Sybase database and prints out the values\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10113,"url":"http:\/\/bangla.sitestree.com\/?p=10113","url_meta":{"origin":26850,"position":4},"title":"DatabaseUtilities.java: Several general-purpose utilities discussed and used in the chapter.","author":"","date":"August 4, 2015","format":false,"excerpt":"package cwp; import java.sql.*; \/** Three database utilities: \u00a0*\u00a0\u00a0 1) getQueryResults. Connects to a database, executes \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 a query, retrieves all the rows as arrays \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 of strings, and puts them inside a DBResults \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 object. Also places the database product name, \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 database version, and the names of all\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10120,"url":"http:\/\/bangla.sitestree.com\/?p=10120","url_meta":{"origin":26850,"position":5},"title":"EmployeeTest2.java: A test case for the database utilities. Prints results formatted as an HTML table.","author":"","date":"August 5, 2015","format":false,"excerpt":"package cwp; import java.sql.*; \/** Connect to Oracle or Sybase and print \"employees\" table \u00a0*\u00a0 as an HTML table. \u00a0* \u00a0 \u00a0*\/ public class EmployeeTest2 { \u00a0 public static void main(String[] args) { \u00a0\u00a0\u00a0 if (args.length < 5) { \u00a0\u00a0\u00a0\u00a0\u00a0 printUsage(); \u00a0\u00a0\u00a0\u00a0\u00a0 return; \u00a0\u00a0\u00a0 } \u00a0\u00a0\u00a0 String vendorName = args[4];\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/26850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=26850"}],"version-history":[{"count":0,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/26850\/revisions"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=26850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26850"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}