Reputation: 526
String name = request.getParameter("type");
String queryString = "SELECT * FROM Customer WHERE TYPE='Provider';";
rs = statement.executeQuery(queryString);
while(rs.next()) out.print(rs.getString(2));
prints nothing, why? I checked the DB connection but i'm connected to it successfully. What might be the problem?
whole code in jsp. I think there is a problem with whole code. What is the problem here?
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<head>
<meta charset="utf-8">
<title>GET CUSTOMER LIST</title><meta name="keywords" content="contact, direction,"><meta name="description" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="address=no">
<link rel="canonical" href="#">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.onbile.com/nbproject/private/sushi/media/icon/apple-touch-icon.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.onbile.com/nbproject/private/sushi/media/icon/apple-touch-icon.png">
<link rel="apple-touch-icon-precomposed" href="http://www.onbile.com/nbproject/private/sushi/media/icon/apple-touch-icon-precomposed.png">
<link rel="shortcut icon" href="http://www.onbile.com/nbproject/private/sushi/media/icon/apple-touch-icon.png">
<!-- Mobile IE ows us to activate ClearType technology for smoothing fonts for easy reading -->
<meta http-equiv="cleartype" content="on">
<link rel="shortcut icon" href="http://www.onbile.com/favicon.ico">
<style type="text/css" media="screen">
/*reset*/
html, body { margin: 0; padding: 0; border: 0; }
body { font-family:Helvetica, Arial, sans-serif; line-height:1.5; font-size:16px; background: #fff; color: #333; word-wrap: break-word; -webkit-text-size-adjust: none; }
h1, h2, h3, h4, h5, h6{ font-weight: normal; margin: 0;}
p img { float: left; margin: 0 10px 5px 0; padding: 0; }
img { border: 0; max-width: 100%; }
table { width:auto; border-collapse: collapse;border-spacing: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
/*Non-semantic helper classes*/
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
@font-face {
font-family: 'FagoCoRegular';
src: url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-webfont.eot');
src: url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-webfont.eot?#iefix') format('embedded-opentype'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-webfont.woff') format('woff'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-webfont.ttf') format('truetype'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-webfont.svg#') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FagoCoBlackRegular';
src: url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-black-webfont.eot');
src: url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-black-webfont.eot?#iefix') format('embedded-opentype'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-black-webfont.woff') format('woff'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-black-webfont.ttf') format('truetype'),
url('http://www.onbile.com/nbproject/private/sushi/media/font/fagoco-black-webfont.svg#FagoCoBlackRegular') format('svg');
font-weight: normal;
font-style: normal;
}
body {
font-family: 'FagoCoRegular';
}
h2.title1 {
padding: 22px 15px 20px 15px;
line-height: 0.9em;
}
.title2 {
line-height: 0.9em;
}
.title4 {
letter-spacing: -0.05em;
line-height: 1.2em;
}
img.image {
padding: 1px 0;
display: block;
width: 100%;
}
.imgcontent {
position: relative;
overflow: hidden;
border-top-width: 1px;
border-top-style: solid;
border-bottom-width: 1px;
border-bottom-style: solid;
}
img.image.left {
float: left;
}
img.image.right {
float: right;
}
img.image.center {
margin: 0 auto;
}
.order {
margin-bottom: 1px;
border-bottom-style: solid;
border-bottom-width: 1px;
display: block;
padding: 4px;
}
</style>
<link rel="stylesheet" href="http://www.onbile.com/assets/websites/final/052/333/052333/css/52333_f.css"><link rel="stylesheet" href="http://www.onbile.com/assets/websites/final/052/333/052333/css/52333_c.css">
<!--[if gte IE 8.0]>
<style type="text/css">
.t-sushi-p-gallery-content .list-items li {
width: 46%;
}
</style>
<![endif]-->
<script src="http://www.onbile.com/nbproject/private/sushi//js/modernizr.custom.09105.js"></script>
</head>
<body>
<div id="container">
<header class="t-sushi-p-header int">
<div class="header">
<span class="adorn"></span>
<a href="http://tekirmobile.onbile.com/" class="btn back ir">back</a>
<h1 class=""><a href="http://tekirmobile.onbile.com/" id="logotype"><img src="http://www.onbile.com/assets/websites/final/052/333/052333/smooth_logo.png" class=" center" style="width:60%;"></a></h1> <a href="#" class="btn menu ir">menu</a>
<a href="#container" class="btn menu ir on">menu</a>
</div>
</header>
<header class="t-sushi-p-subtitle">
<p title="My own profile" class="subtitle edit_element" id="1688529_subtitle" type="text">My own profile</p>
</header>
<style>
#container:target nav.t-sushi-p-menu.acor ul {
height: 160px;
}
</style>
<nav class="t-sushi-p-menu acor">
<ul>
<li class="selected"><a href="http://127.0.0.1/getCustomerList.html" class="menu">GET CUSTOMER LIST</a></li><li class=""><a href="http://tekirmobile.onbile.com//about-me" class="menu">MONITOR CASH FLOW</a></li><li class=""><a href="http://tekirmobile.onbile.com//curriculum-vitae" class="menu">GET CUSTOMER STATE INFO</a></li><li class=""><a href="http://tekirmobile.onbile.com//photo-gallery" class="menu">MONITOR FINANCIAL TRANSACTIONS</a></li><li class=""><a href="http://tekirmobile.onbile.com//blog" class="menu">GET PAYMENT PLAN</a></li> </ul>
</nav>
<div class="t-sushi-p-contact-content">
<!-- <h2 title="Contact with Mike Stain" class="title1 edit_element" id='1688531_titles' type='text'>Contact with Mike Stain</h2> -->
<h2 class="title1">GET CUSTOMER LIST</h2>
<form name="input" action="/TekirMobile/getCustomerList" method="post">
<table>
<div class="prop">
<span class="value "><select name="type" class="middle" size="1"> <option value="All">All</option>
<option value="Customer" selected="selected">Customer</option>
<option value="Provider">Provider</option>
<option value="Bank">Bank</option>
<option value="Foundation">Foundation</option>
<option value="Agent">Agent</option>
<option value="Branch">Branch</option>
<option value="Contact">Contact</option>
<option value="Related">Related</option>
<option value="Personnel">Personnel</option>
</select>
</span>
</div>
</table>
<br />
<input type="submit" value="Search" name="submit">
<%
try {
/* Create string of connection url within specified format with machine name,
port number and database name. Here machine name id localhost and
database name is usermaster. */
String connectionURL = "jdbc:mysql://localhost:3306/TekirMobile";
// declare a connection by using Connection interface
Connection connection = null;
// Load JBBC driver "com.mysql.jdbc.Driver"
Class.forName("com.mysql.jdbc.Driver").newInstance();
/* Create a connection by using getConnection() method that takes parameters of
string type connection url, user name and password to connect to database. */
connection = DriverManager.getConnection(connectionURL, "root", "fenderpass");
ResultSet rs = null;
Statement statement = null;
if(request.getParameter("submit")!=null)
{
String name = request.getParameter("type");
String queryString = "SELECT * FROM Customer WHERE TYPE='Provider'";
out.print(queryString);
rs = statement.executeQuery(queryString);
for (int i = 1; rs.next(); i++) {
out.println("row=" + i + ": " + rs.getString(2));
}
}
// check weather connection is established or not by isClosed() method
if(!connection.isClosed())
%>
<font size="+3" color="green"></b>
<%
connection.close();
}
catch(Exception ex){
%>
</font>
<font size="+3" color="red"></b>
<%
}
%>
</form>
</div>
</div>
<footer class="t-sushi-p-footer">
<h5 title="" class="title5 edit_element" id="1688532_title_contact" type="text"></h5>
<div class="small edit_element" id="1688532_contact_description" type="textarea"><p>©2012 | License | Privacy | Özgür Yaz?l?m </p></div>
</footer>
<div class="t-sushi-p-social">
<ul class="social">
<li class="facebook" id="facebook_elem">
<a href="http://www.facebook.com/" class="" target="_blank">Facebook</a>
</li><li class="twitter" id="twitter_elem">
<a href="http://www.twitter.com/" class="" target="_blank">Twitter</a>
</li><li class="linkedin" style="display:none" id="linkedin_elem">
<a href="http://www.linkedin.com/" class="" target="_blank">Your Linkedin</a>
</li><li class="skype" style="display:none" id="skype_elem">
<a href="http://www.skype.com/" class="" target="_blank">Your Skype</a>
</li><li class="flickr" style="display:none" id="flickr_elem">
<a href="http://www.flickr.com/" class="" target="_blank">Your Flickr</a>
</li><li class="youtube" style="display:none" id="youtube_elem">
<a href="http://www.youtube.com/" class="" target="_blank">Your Youtube</a>
</li><li class="google" style="display:none" id="google_elem">
<a href="http://www.google.com/" class="" target="_blank">Your Google</a>
</li><li class="email" style="display:none" id="email_elem">
<a href="mailto:" class="" target="_blank"></a>
</li>
</ul>
</div>
</div> <!--! end of #container -->
<div style="height:51px;width:100%;clear:both"> <br></div>
<div style="position:fixed; bottom:0px;margin-left:auto;margin-right:auto">
<!--qzkqc-->
</div>
</div>
</body>
Upvotes: 0
Views: 601
Reputation: 96385
Some things I would try:
Remove the semicolon at the end of the query. SQL Queries passed into statements don't need an ending semicolon.
Change the last line shown to
for (int i = 1; rs.next(); i++) {
out.println("row=" + i + ": " + rs.getString(2));
}
This way you can tell if there were no rows returned at all, or if all the rows returned were empty strings.
Your statement never gets initialized, trying to use it will result in a NullPointerException. It's likely you have an exception thrown that you're not seeing because it gets eaten without a trace in the catch block. Edit your catch block to display the stack trace from the exception, like this:
}
catch(Exception ex){
ex.printStackTrace();
}
Upvotes: 1
Reputation: 245389
More than likely, it is because there are no results returned.
Upvotes: 5