Solved

Why empty resultset ?????-URGENT

Posted on 2003-12-11
19
367 Views
Last Modified: 2010-04-01
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
Comment
Question by:Jasbir21
  • 7
  • 6
  • 3
  • +1
19 Comments
 
LVL 14

Expert Comment

by:kennethxu
Comment Utility
problem in somewhere else, post your real code.
0
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
That sounds like you're in a bad mood kenneth ;-)
0
 
LVL 35

Expert Comment

by:TimYates
Comment Utility
if(skill!=null&& skill.length() != 0 &&!skill.equals("")){
     out.println( "Adding '" + skill + "'<br/>" ) ;
//insert data;
}

what does it print?
0
 
LVL 14

Expert Comment

by:kennethxu
Comment Utility
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
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
>> 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
 
LVL 14

Expert Comment

by:kennethxu
Comment Utility
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
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
Just for info:

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

could be shortened to:

if(skill!=null && skill.length() > 0)
0
 
LVL 35

Expert Comment

by:TimYates
Comment Utility
and lengthened to:

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

hehehehehe
0
 
LVL 35

Expert Comment

by:TimYates
Comment Utility
(sorry) :-(
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Author Comment

by:Jasbir21
Comment Utility
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
 

Author Comment

by:Jasbir21
Comment Utility
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
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
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
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
If you see something like:

Adding ' '

you might want to consider changing:

String  skill=vol.getSkill();

to

String  skill=vol.getSkill().trim();
0
 

Author Comment

by:Jasbir21
Comment Utility
yah, i get something like this ' ', i  change now
0
 

Author Comment

by:Jasbir21
Comment Utility
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
 

Author Comment

by:Jasbir21
Comment Utility
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
 
LVL 15

Accepted Solution

by:
jimmack earned 60 total points
Comment Utility
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
 

Author Comment

by:Jasbir21
Comment Utility
Thanks very much,it works
0
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
;-)
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Scam emails are a huge burden for many businesses. Spotting one is not always easy. Follow our tips to identify if an email you receive is a scam.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now