how can i collect values from database using OR condition?
i have a table containing employee and language ...
I have a select box containing languages and if i select two languages and click on submit.
it should do collect all employees having either of the languages using OR condition..how can i do this out..
i have written some code and i will show u...
please give your suggstions
<%
//String eid=request.getParameter()
String s3[]=request.getParameterValues("language");
String check[] = request.getParameterValues("check");
int i=0;
int j=0;
String a="";
String ename="";
//String check
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException ce)
{
out.println(ce);
}
try
{
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
PreparedStatement pStmt = con.prepareStatement("select lang.ename from lang where language like ? ");
if(check ==null)
{
for ( i = 0; i < s3.length; i++)
{
if(i < s3.length - 1)
{
a=a + s3[i] +",";
}
elseif(i < s3.length)
{
a = a + s3[i] ;
}
pStmt.setString(1,"%" + a +"%");
}
}
else
{
for ( i = 0; i < s3.length ; i++)
{
if(i < s3.length - 1)
{
a=a + s3[i] +",";
}
else
{
a = a + s3[i] ;
}
pStmt.setString(1, a );
}
}
%>
<table width="15%" border="1">
<tr>
<td><div align="center">Employees</div></td>
</tr>
<%
ResultSet rs=pStmt.executeQuery();
while (rs.next ())
{
ename = rs.getString("ename");
%>
<tr>
<td><%=ename%></td>
</tr>
<%
}
%>
</table>
<%
}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
%>
# 3
thank u very much for ur reply.............
how can i implment in this..
i will show u the code that i have changed, can u please implement in this
<%
//String eid=request.getParameter()
String s3[]=request.getParameterValues("language");
String check[] = request.getParameterValues("check");
int i=0;
int j=0;
String a="";
String ename="";
PreparedStatement pStmt =null;
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException ce)
{
out.println(ce);
}
try
{
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
//pStmt = con.prepareStatement(" select lang.ename from lang where lang.language like ?" );
if(check == null)
{
// select eid from lang where language like "%c++%"intersect select eid from lang where language like "%java%)
pStmt = con.prepareStatement(" select ename from lang where( language like ? OR language like ? ) " );
for ( i = 0; i < s3.length; i++)
{
if(i < s3.length - 1)
{
a=a + s3[i] + ",";
}
else if(i < s3.length)
{
a = a + s3[i] ;
}
pStmt.setString(1, "%" + a + "%" );
pStmt.setString(2, "%" + a + "%" );
}
}
else
{
pStmt = con.prepareStatement(" select lang.ename from lang where lang.language like ?" );
for ( i = 0; i < s3.length ; i++)
{
if(i < s3.length - 1)
{
a=a + s3[i] + ",";
pStmt.setString(1, a + "%" );
}
else
{
a = a + s3[i] ;
pStmt.setString(1, a + "%" );
}
// pStmt.setString(1, a + "%" );
}
}
%>
<table width="15%" border="1">
<tr>
<td><div align="center">Employees</div></td>
</tr>
<%
ResultSet rs=pStmt.executeQuery();
while (rs.next ())
{
ename = rs.getString("ename");
%>
<tr>
<td><%=ename%></td>
</tr>
<%
}
%>
</table>
<%
}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
%>