Jump to content
Changes to the Jaspersoft community edition download ×

Application DataSource in place of SQL Query

2006 IR Open Dicussion

Recommended Posts

By: subesingh - subesingh1

Application DataSource in place of SQL Query

2006-01-07 05:02

In jasper report in place of data source SQL query, I would like to use the application class object like DataModel. DataModel class just like a resultset.


Is any one have idea how to do it?


Thanks in advance.









By: Angelos Yannopoulos - a_yannopoulos

RE: Application DataSource in place of SQL Qu

2006-01-09 08:47

in jasper reports check jasperreports-1.1.1demosamplesdatasourceCustomDataSource.java


in ireports note you need to extend JRAbstractBeanDataSourceProvider as a JRDataSourceProvider to import fields automatically...






By: Daffodil Software Ltd, India - daffodilsw

RE: Application DataSource in place of SQL Query

2006-01-10 01:38



Thanks for your reply.


I have study the class that you have suggest which is given below:


import net.sf.jasperreports.engine.JRDataSource;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JRField;




* @author Teodor Danciu (teodord@users.sourceforge.net)

* @version $Id: CustomDataSource.java,v 1.11 2005/11/28 09:20:45 teodord Exp $


public class CustomDataSource implements JRDataSource







private Object[][] data =


{"Berne", new Integer(22), "Bill Ott", "250 - 20th Ave."},

{"Berne", new Integer(9), "James Schneider", "277 Seventh Av."},

{"Boston", new Integer(32), "Michael Ott", "339 College Av."},

{"Boston", new Integer(23), "Julia Heiniger", "358 College Av."},

{"Chicago", new Integer(39), "Mary Karsen", "202 College Av."},

{"Chicago", new Integer(35), "George Karsen", "412 College Av."},

{"Chicago", new Integer(11), "Julia White", "412 Upland Pl."},

{"Dallas", new Integer(47), "Janet Fuller", "445 Upland Pl."},

{"Dallas", new Integer(43), "Susanne Smith", "2 Upland Pl."},

{"Dallas", new Integer(40), "Susanne Miller", "440 - 20th Ave."},

{"Dallas", new Integer(36), "John Steel", "276 Upland Pl."},

{"Dallas", new Integer(37), "Michael Clancy", "19 Seventh Av."},

{"Dallas", new Integer(19), "Susanne Heiniger", "86 - 20th Ave."},

{"Dallas", new Integer(10), "Anne Fuller", "135 Upland Pl."},

{"Dallas", new Integer(4), "Sylvia Ringer", "365 College Av."},

{"Dallas", new Integer(0), "Laura Steel", "429 Seventh Av."},

{"Lyon", new Integer(38), "Andrew Heiniger", "347 College Av."},

{"Lyon", new Integer(28), "Susanne White", "74 - 20th Ave."},

{"Lyon", new Integer(17), "Laura Ott", "443 Seventh Av."},

{"Lyon", new Integer(2), "Anne Miller", "20 Upland Pl."},

{"New York", new Integer(46), "Andrew May", "172 Seventh Av."},

{"New York", new Integer(44), "Sylvia Ott", "361 College Av."},

{"New York", new Integer(41), "Bill King", "546 College Av."},

{"Oslo", new Integer(45), "Janet May", "396 Seventh Av."},

{"Oslo", new Integer(42), "Robert Ott", "503 Seventh Av."},

{"Paris", new Integer(25), "Sylvia Steel", "269 College Av."},

{"Paris", new Integer(18), "Sylvia Fuller", "158 - 20th Ave."},

{"Paris", new Integer(5), "Laura Miller", "294 Seventh Av."},

{"San Francisco", new Integer(48), "Robert White", "549 Seventh Av."},

{"San Francisco", new Integer(7), "James Peterson", "231 Upland Pl."}



private int index = -1;






public CustomDataSource()








public boolean next() throws JRException




return (index < data.length);







public Object getFieldValue(JRField field) throws JRException


Object value = null;


String fieldName = field.getName();


if ("the_city".equals(fieldName))


value = data[index][0];


else if ("id".equals(fieldName))


value = data[index][1];


else if ("name".equals(fieldName))


value = data[index][2];


else if ("street".equals(fieldName))


value = data[index][3];



return value;







But as per I understand it does not fulfill my requirement.I would like to use the application class object in place of SQL query that I have used in report datasource.

I have have a class DataModel in project.It is just like a resultset.It is able to provide the all the data of a table.

I do not want to execute the query again and again.It slow down the application, so I would like to use the class object.

I do not found the suitable example for it.I am waiting for your kind reply.


With Best Regards,

Sube Singh

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Days

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...