Illustration of Dynamic SQL Queries


This document is organized into following sub-sections :

  1. Overview of the Sample Application
  2. Required Software
  3. Installation and Configuration
  4. Description of Sample Files

Overview of the Sample Application

This application shows how to create and execute dynamic sql queries using JDBC. The user selects a table from his schema, then the columns and provides the where clause. The dynamic SQL query is then formed based on the user input and executed.

The sample uses the JDBC-Thin driver; the code is the same for JDBC-OCI, except for the database URL syntax.

Steps in the Sample :

  1. The user invokes the application, and the application displays the connection status and errors, if any, in the status bar.
  2. If the connection was successful then all the tables in the user's schema are displayed in a JTable.
  3. When a table is chosen then the columns in that table are retrieved and displayed in another JTable. The user can now choose the columns.
  4. When the user presses the Select button then a dynamic sql query is formed based on the Table and Columns chosen and also the Where Clause entered. The query is then executed and results displayed in the "Results" Jtable whose structure changes based on the columns selected.
  5. When the user presses Exit button, the application exits.

Required Software

  • Oracle9i JDeveloper or higher ( Note: JDeveloper is Oracle's Visual Java Development Tool and can be downloaded from here )
    or

    JDK1.2.x or above (can be downloaded from here )
  • Oracle9i (Database) or higher running SQL*Net TCP/IP listener. This can be downloaded from here.

Installation and Configuration

The section has step-by-step instructions to run this application successfully.
This will be discussed in the following subsections

Install the sample

Run the sample using Oracle9i JDeveloper

Run the sample using the JDK environment

Install the sample

Step 1. Unjar DynamicSqlSample.jar using Winzip, or using the following command:

> jar xvf DynamicSqlSample.jar

You will find jar.exe in JDK_HOME\bin. Ensure that JDK_HOME\bin is present in your system path. (JDK_HOME is the root directory of the JDKx.x installation ).

This creates a folder DynamicSqlSample with all the source files

Step 2. Edit Connection.properties file located in the directory DynamicSqlSample\src. Change the attributes hostname, portnumber and database name to those of the database instance you want to connect to.

Change the following lines:

HostName = insn104a.idc.oracle.com
SID = otn9i
Port = 1521
UserName = scott
Password = tiger

 

Run the sample using Oracle9i JDeveloper

Step 1. Using JDeveloper File/Open option select the DynamicSqlSample.jws from the DynamicSqlSample directory.

Step 2. Select Project/Make from JDeveloper main menu and select Make Project "DynamicSqlSample.jpr"

Step 3. Select Run/Run DynamicSqlSample.jpr from JDeveloper main menu to run the application.

Run the sample using the JDK Environment

 Step 1. Install Oracle JDBC Driver and include the zip/jar files in the CLASSPATH
              Ensure that DynamicSqlSample\src directory is added to the CLASSPATH

 Step 2.  Change directory to DynamicSqlSample\src\oracle\otnsamples\jdbc\dynamicsql. Compile the files using javac:

               %javac *.java

 Step 3. Run the class file using java:            
            
              %java oracle.otnsamples.jdbc.dynamicsql.DynamicSqlSample



Description of Sample Files

The directory structure of the deliverable DynamicSqlSample.jar will be as shown below

DynamicSqlSample is the top level directory.

Directory
Files
Description
DynamicSqlSample ReadMe.html This file
DynamicSqlSample.jws The Oracle9i JDeveloper workspace file
DynamicSqlSample.jpr The Oracle9i JDeveloper project file
DynamicSqlSample\src Connection.properties This file has the details of the database connection parameters
DynamicSqlSample\src\oracle\otnsamples\jdbc\dynamicsql DynamicSqlSample.java The source file for sample
DynamicSqlFrame.java The source file for the sample User Interface
GenTableModel.java The source file for the GenTableModel class, which handles the JTable data

 



Please enter your comments about this sample in the OTN Sample Code Discussion Forum.