dcsimg
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3

Thread: Why the getMethod for List<String> is not printing out the values in another Method?

  1. #1
    Join Date
    Dec 2011
    Posts
    7

    Why the getMethod for List<String> is not printing out the values in another Method?

    I have been dealing with this problem for the longest time and I really hope someone can tell me what's happening and how to make the getMethod for List<String> returns the values.

    Code:
    public void insertTutor_Subject(int tutor_id, List<String> subjNames) throws MyDataException {
    		
    		Tutor m = new Tutor();
    		System.out.println(tutor_id); //this will return the generated_id
    		System.out.println(m.getSubjects());//not able to print out
    try {
    			//openConnection();		
    			PreparedStatement ps3 = connection.prepareStatement("INSERT INTO project.tutor_subject(tutor_id, subjectName) VALUES (?, ?);");
    			ps3.setInt(1, tutor_id);
    			//System.out.println(m.getTutor_id()); //m.getTutor_id() will give you 0
    			ps3.setObject(2, m.getSubjects());
    			System.out.println(m.getSubjects());
    			ps3.addBatch();
    			ps3.setInt(1, tutor_id);
    			ps3.setObject(2, m.getSubjects());
    			ps3.addBatch();

    At my controller :

    Code:
    String[] subj = request.getParameterValues("subject");
    			List<String>subjs = new ArrayList<String>(Arrays.asList(subj));
    		    m4.setSubjects(subjs); 
    		    System.out.println(m4.getSubjects());	// able to see the values
    My first question is m4.getSubjects at the controller is able to return the value so why is it not showing up at the insertTutor_Subject method?

    My 2nd question is do I still need to OpenConnection(static method for JDBC Connection) in order for the insertion to work?

    My last question is if the above - using Batch to insert the List<String> ? Is there anything wrong with this method ?

    Thanks
    Last edited by 2kaud; December 26th, 2018 at 08:48 AM. Reason: Added code tags

  2. #2
    Join Date
    Jun 1999
    Location
    Eastern Florida
    Posts
    3,850

    Re: Why the getMethod for List<String> is not printing out the values in another Meth

    Can you make and post a small complete program that compiles, executes and shows the problem?

    Please wrap all posted code in code tags to preserve formatting.
    Norm

  3. #3
    Arjay's Avatar
    Arjay is offline Moderator / MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    12,988

    Re: Why the getMethod for List<String> is not printing out the values in another Meth

    The reason is that in the following method you are declaring a new Tutor object, but aren't populating it.
    Code:
    public void insertTutor_Subject(int tutor_id, List<String> subjNames) throws MyDataException {
    		
    		Tutor m = new Tutor();
    		System.out.println(tutor_id); //this will return the generated_id
    		System.out.println(m.getSubjects());//not able to print out -- YES, because it's empty
    The following works because you call m4.setSubjects (presumably m4 is an instance of the Tutor object).
    Code:
    String[] subj = request.getParameterValues("subject");
    			List<String>subjs = new ArrayList<String>(Arrays.asList(subj));
    		    m4.setSubjects(subjs); // SETTING the VALUES
    		    System.out.println(m4.getSubjects());	// able to see the values
    Do you have to call setSubjects() first?
    Code:
    public void insertTutor_Subject(int tutor_id, List<String> subjNames) throws MyDataException {
    		
    		Tutor m = new Tutor();
    		System.out.println(tutor_id);
                    m.setSubjects(subjNames);
    		System.out.println(m.getSubjects());
    Last edited by Arjay; December 26th, 2018 at 07:54 PM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width




On-Demand Webinars (sponsored)