• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 383
  • Last Modified:

Why empty resultset ?????-URGENT

hi,

skill=volgetSKILL();
if(skill!=null&& skill.length() != 0 &&!skill.equals("")){
//insert data;
}

Problem is empty resultset is get entered, what to do  


thanks
0
Jasbir21
Asked:
Jasbir21
  • 7
  • 6
  • 3
  • +1
1 Solution
 
kennethxuCommented:
problem in somewhere else, post your real code.
0
 
jimmackCommented:
That sounds like you're in a bad mood kenneth ;-)
0
 
TimYatesCommented:
if(skill!=null&& skill.length() != 0 &&!skill.equals("")){
     out.println( "Adding '" + skill + "'<br/>" ) ;
//insert data;
}

what does it print?
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
kennethxuCommented:
No, I'm not :-(
Could it be the cause that English is my second language?
I'm working on projects in same time, that might be another reason that I didn't pay attention to proper phrase the sentence. Sorry Jasbir21.
0
 
jimmackCommented:
>> Could it be the cause that English is my second language?

I'm sorry kenneth.  I was only joking.  For the record, I haven't seen you be anything other than patient and helpful :-)
0
 
kennethxuCommented:
Hi Jim, no sorry. In fact, I really thank you for reminding me on that. Look, Tim was obviously taking a much better approach then I did :-)
0
 
jimmackCommented:
Just for info:

if(skill!=null&& skill.length() != 0 &&!skill.equals(""))

could be shortened to:

if(skill!=null && skill.length() > 0)
0
 
TimYatesCommented:
and lengthened to:

if( skill == null ? false : skill.length() > 0 ? true : false )

hehehehehe
0
 
TimYatesCommented:
(sorry) :-(
0
 
Jasbir21Author Commented:
hi,
sorry for the late response, we had leave the lab because to late .Now, I can enter again:

the code is :
with println, i see empty string get inserted:...

if(skill!=null && skill.length() > 0)
 
{
 
out.println( "Adding '" + skill + "'<br/>" ) ;

  StringTokenizer st = new StringTokenizer(skill,",");
  String[] ar = new String[st.countTokens()];
  int i=0;


if(st.hasMoreTokens()){

while(st.hasMoreTokens())
 {
  ar[i]=st.nextToken();

 


 String query = "insert into userskills(username,skill) values(?,?)";
  prep3=connection.prepareStatement(query);
  prep3.setString(1,username);
  prep3.setString(2,ar[i]);
  prep3.executeUpdate();
   i++;

}

}

          }//if


prep3.close();

.....

it works like this:
In volunteer.jsp,you have this:
<textarea type="text" name="skill" rows="5"  cols="15" wrap readonly >
</textarea>
and this value is assinged to bean and directed to DB.jsp which does inserting.
the code skill!=null..........is in DB.jsp


thanks


0
 
Jasbir21Author Commented:
i forgot to say in volunteer.jsp , it is assigned like this:

String  skill=vol.getSkill();

I able to delete skill in volunteer.jsp and when i mysql database, i see in table userskills in database, skill really get deleted, not any empty strings.

But when i press button submit , then only empty string gets inserted.

Thansk you
0
 
jimmackCommented:
Unless you are using the array "ar" for some other purpose, it's not required, you could change:

if(st.hasMoreTokens()){

while(st.hasMoreTokens())
 {
  ar[i]=st.nextToken();
  String query = "insert into userskills(username,skill) values(?,?)";
  prep3=connection.prepareStatement(query);
  prep3.setString(1,username);
  prep3.setString(2,ar[i]);
  prep3.executeUpdate();
   i++;
}

to:

if(st.hasMoreTokens()){

while(st.hasMoreTokens())
 {
  String query = "insert into userskills(username,skill) values(?,?)";
  prep3=connection.prepareStatement(query);
  prep3.setString(1,username);
  prep3.setString(2, st.nextToken());
  prep3.executeUpdate();
}

However, this doesn't explain why you're getting empty strings inserted into the database.

Could you just confirm that you see the following:

Adding ''

0
 
jimmackCommented:
If you see something like:

Adding ' '

you might want to consider changing:

String  skill=vol.getSkill();

to

String  skill=vol.getSkill().trim();
0
 
Jasbir21Author Commented:
yah, i get something like this ' ', i  change now
0
 
Jasbir21Author Commented:
i got error:

java.lang.NullPointerException
      org.apache.jsp.jsp2.volunteerupdateDB_jsp._jspService(volunteerupdateDB_jsp.java:189)
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

maybe this is because, the skill value needs not to be entered, i think,not sure
thanks
0
 
Jasbir21Author Commented:
i mean, the skill textarea, need not to be entered, i mean, if user never enter skill textarea, it is ok.

i hope i not confusing with bad english
0
 
jimmackCommented:
OK.  I don't *think* that should be too much of a problem.  Remove the .trim() you have just added and move it here instead:

  StringTokenizer st = new StringTokenizer(skill.trim(),",");

At least when you get to this line, you've already checked for null.
0
 
Jasbir21Author Commented:
Thanks very much,it works
0
 
jimmackCommented:
;-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 7
  • 6
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now