You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

What are JDBC Form Binders?

JDBC Form Binder allows you to use custom SQL statements to retrieve and load records into your form fields. Similarly, you can write SQL statements to save the records in your form field into a database table.

JDBC form binders settings are located in the form PROPERTIES tab under "Advanced > Data Binder > Load Binder & Store Binder". JDBC form binders replaces the standard Workflow Form Binder.

In a load binder, you only need to configure the datasource and SELECT query. In a store binder, you will need to write SQL statements for SELECT, INSERT, UPDATE, and DELETE database actions.

JDBC form binders have the following exception where this binder cannot be used (revert back to Workflow Form Binder):

  • Use of form element workflow variables. JDBC form binders will not populate or update the workflow variables.
  • Use of file and image attachment field elements. JDBC form binders will not handle the file retrieval or file transfer into Joget file storage.




Figure 1: JDBC Form Load Binder Properties

NameDescription
Datasource
  • Custom Datasource
  • Default Datasource

By selecting Default Datasource, the database your Joget is currently using will be selected.

Custom JDBC Driver

Custom JDBC Driver. This field is required when Custom Datasource is selected in Datasource above.

Custom JDBC URL 
Custom JDBC URL. This field is required when Custom Datasource is selected in Datasource above.
Custom JDBC Username 
Custom JDBC Username. This field is required when Custom Datasource is selected in Datasource above.
Custom JDBC Password

Custom JDBC Password. This field is required when Custom Datasource is selected in Datasource above.

Test the connection parameters

Click on the "Test Connection" button at the bottom of the page to quickly test out your configurations.

SQL SELECT Query
SELECT * FROM app_fd_table WHERE id = ?


Figure 2: JDBC Form Store Binder Properties

NameDescription
Datasource
  • Custom Datasource
  • Default Datasource

By selecting Default Datasource, the database your Joget is currently using will be selected.

Custom JDBC Driver

Custom JDBC Driver. This field is required when Custom Datasource is selected in Datasource above.

Custom JDBC URL 
Custom JDBC URL. This field is required when Custom Datasource is selected in Datasource above.
Custom JDBC Username 
Custom JDBC Username. This field is required when Custom Datasource is selected in Datasource above.
Custom JDBC Password

Custom JDBC Password. This field is required when Custom Datasource is selected in Datasource above.

Test the connection parameters

Click on the "Test Connection" button at the bottom of the page to quickly test out your configurations.

SQL SELECT Query
SELECT * FROM app_fd_table WHERE  id = '#requestParam.id#'

Note: If you use JDBC in a form grid for load/save, be advised the SQL syntax is different from the above. Kindly download and view the sample app for JDBC in a form grid at the bottom of this page.

SQL INSERT Query

Use syntax like curly brackets {field_id} in query to inject submitted form data.

INSERT app_fd_table 
       (id, 
        c_name, 
        c_emailaddress, 
        c_contacttel) 
VALUES ({id}, 
        {name}, 
        {emailAddress}, 
        {contactTel}) 

Note: Be advised JDBC load/save binders cannot be used if your form or form grid has file or image attachment field elements. You will need to use the default Multirow Form Binder in this circumstance.

SQL UPDATE Query

Use syntax like curly brackets {field_id} in query to inject submitted form data.

UPDATE app_fd_table 
SET    id = {id}, 
       c_name = {name}, 
       c_emailaddress = {emailAddress}, 
       c_contacttel = {contactTel} 
WHERE  id = {id} 
SQL DELETE Query

Used in deleting form data records in Datalist/Grid element. Use syntax like curly brackets {id} in query to inject form data primary key

DELETE FROM app_fd_table 
WHERE  id = {id} 


Download Demo App



  • No labels