neetikamittal Posted September 6, 2006 Share Posted September 6, 2006 Hi Friends, u may find me too impatient but I can't wait for too long. actually I tried to put a string array against a single key in hashmap.now wat I think is Parameter field named "homephone"is not able to populate the string array values agaist this single key. I tried to check whether against that key string array values are there or not.My code is printing those values against that key. But now Problemm is Ireport is not filling up those string values against a that key in my Parameter field defined . I defined a field named $P{homephone},drag this field in details section so that runtime values from database can be filled in. here is my code where i tried to pick homephonenos of all the persons whose name is "amber".Most important thing is in database homePhone field is of type char[10] so I declred my parameter homephone as of type java.lang.String and in java code I tried to make a arraylist then converted that arraylist into string array.and then called the HASHMAP's put(key,value) methodsee the code below.I have slightly modified the code so don't check for prepared statemnets. Map hmap=new HashMap(); String cb1 = req.getParameter("homeinfo"); if(cb1.equals("on")) { PreparedStatement stmt = jdbcConnection.prepareStatement("select firstName, homePhone from person where firstName = 'amber'"); ResultSet rs = stmt.executeQuery(); ArrayList names = new ArrayList(); while (rs.next()) { names.add(rs.getString("homePhone")); } Object ia[] = names.toArray(); int len=ia.length; String[] s1=new String[len]; for(int i=0;i<len-1;i++) { s1= ia.toString(); } hmap.put("homephone",s1); //problem is here only I think so //hmap.put("firstname",name); but when i tried this I am getting all the values against homephone keyString[] strings = (String []) hphones.get("homephone"); out.println("length of string array is"+strings.length); for(int i=0;i<strings.length;i++) { //strings= ia.toString(); out.println("value of string "+i +"is"+strings); } but when this servlet code tries to fill the values in parameter fields defined it is showing error likeCould not create the report Incompatible [Ljava.lang.String; value assigned to parameter homephone in the ctisreport1 dataset. Incompatible [Ljava.lang.String; value assigned to parameter homephone in the ctisreport1 dataset. so for reference I am attaching jrxml code also. I wish One must have understand my problem.Hope to get the soln very soon [file name=ctisreport1-03818669ee2bcad10ef67e95550ff804.jrxml size=22811]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/ctisreport1-03818669ee2bcad10ef67e95550ff804.jrxml[/file]Post edited by: neetikamittal, at: 2006/09/06 06:17 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now