08/06/2009, 16:16
|
| | Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 15 años, 7 meses Puntos: 0 | |
Respuesta: Conexion JSP y MySQL... Hola te mando mi pagina completa yo estoy trabajando con netbeans si no le entiendes pues te mando un ejemplo mas sencillo.
para incluir las librerias de java.sql y las demas usas :
<%@ page import="java.util.Calendar" %>
Solo checa dode tengo los simbolos <%%> ese es el codigo java
aa
para los select yo uso un ResultSet
rs = pst.executeQuery(cadena);
para un insert uso
boolean = pst.execute(cadena);
Bueno ojala y le entiendas porque veras que no esta comentado
<%--
Document : listaHabitacion
Created on : 02-jun-2009, 23:25:16
Author : Chriss
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.SQLException"%>
<%@ page import="java.sql.ResultSet" %>
<html>
<head>
<%
String fechaSalida;
int cantidadHuespedes;
Calendar fecha3 = Calendar.getInstance(); // para manejar la fecha de
String cadena = ""; // para ejecutar un query SQL
char fS[]; //almacena la fecha de salida
String diaS="",mesS="",anioS=""; //Variables para separar dias, mes, anio
Calendar fecha1 = Calendar.getInstance();//current date
int horaH = fecha1.getTime().getHours();
Calendar fecha2 = Calendar.getInstance(); //FechaSalida
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="datosCliente.jsp">
<TABLE width="100%" BORDER=1>
<TR>
<TH width="17%"><span class="Estilo1">CLAVE</span></TH>
<TH width="20%"><span class="Estilo1">TIPO HABITACIÓN </span></TH>
<TH width="15%"><span class="Estilo1">DIAS DE ESTANCIA </span></TH>
<TH width="14%"><span class="Estilo1">PRECIO UNITARIO </span></TH>
<TH width="18%"><span class="Estilo1">PRECIO TOTAL </span></TH>
<TH width="18%"> </TH>
</TR>
<%
Connection conn = null;
Statement pst = null;
ResultSet rs = null;
fechaSalida = String.valueOf(session.getAttribute("fechaSalida") ).trim();
cantidadHuespedes = Integer.parseInt(String.valueOf(session.getAttribu te("numeroHuespedes")).trim());
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hotel4","root","root");
pst = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs .CONCUR_UPDATABLE);
cadena =
"SELECT habitacion.`clave`, categoria.`tipo`,categoria.`tarifa` " +
"FROM habitacion, categoria " +
"WHERE habitacion.`categoria` = categoria.`clave` "+
"AND categoria.`cupo` >= " +cantidadHuespedes+
" AND habitacion.`clave` NOT IN "+
"( "+
"SELECT habitacion.`clave` "+
"FROM renta "+
"WHERE habitacion.`clave` = renta.`habitacion` "+
"AND renta.`fecha_salida` >= curdate() " +
" ) "+
"AND habitacion.`clave` NOT IN "+
"( "+
"SELECT habitacion.clave "+
"FROM reservacion "+
"WHERE habitacion.clave = reservacion.`habitacion` "+
"AND reservacion.`fecha_entrada` <= '" +fechaSalida+
"' ) "+
"ORDER BY tarifa ";
rs = pst.executeQuery(cadena);
fS = fechaSalida.toCharArray(); //Convierte la fecha a un arreglo de chars
anioS = anioS.concat(String.valueOf(fS[0]));
anioS = anioS.concat(String.valueOf(fS[1]));
anioS = anioS.concat(String.valueOf(fS[2]));
anioS = anioS.concat(String.valueOf(fS[3]));
mesS = mesS.concat(String.valueOf(fS[5]));
mesS = mesS.concat(String.valueOf(fS[6]));
diaS = diaS.concat(String.valueOf(fS[8]));
diaS = diaS.concat(String.valueOf(fS[9]));
if (horaH>=0 && horaH <8)
{
fecha1.set((fecha1.getTime().getYear()-100+2000),fecha1.getTime().getMonth(),fecha1.getTi me().getDate()-1,8,0,0);
}
else
{
fecha1.set((fecha1.getTime().getYear()-100+2000),fecha1.getTime().getMonth(),fecha1.getTi me().getDate(),8,0,0);
}
//Convert date passed as String in a Calendar.date data type
int hora = Integer.parseInt(String.valueOf(session.getAttribu te("hora")).trim());
int min = Integer.parseInt(String.valueOf(session.getAttribu te("minuto")));
fecha2.set(Integer.parseInt(anioS),Integer.parseIn t(mesS)-1, Integer.parseInt(diaS),hora,min,0);
session.setAttribute("fechaSalida1", fecha2.getTimeInMillis());
fecha3.set(Integer.parseInt(anioS),Integer.parseIn t(mesS)-1, Integer.parseInt(diaS),hora,min,0);
//Convierte a long en milisegundos las dos fechas para restarlas
long f1 = fecha1.getTimeInMillis();
long f2 = fecha2.getTimeInMillis();
//Substrac two dates in miliseconds
long diff = f2 - f1;
// Pasamos a días
//Convert miliseconds at days
long dias = diff / (1000 * 60 * 60 * 24) +1;
session.setAttribute("diasEstancia", dias);
while(rs.next()) {
String x = rs.getString(3);
float tarifa = Float.parseFloat(x);
%>
<TR><TD ALIGN="center">HLF-C45-<%= rs.getString(1) %></TD>
<TD><%= rs.getString(2) %></TD>
<TD ALIGN="center"> <%= dias%></TD>
<TD ALIGN="right">$ <%= tarifa %>0</TD>
<TD ALIGN="right">$ <%= tarifa * dias %>0</TD>
<TD ALIGN="center">
<input type="submit" name="<%= rs.getString(1) %>" value="Seleccionar" />
</TD>
</TR>
<% } %>
</TABLE>
<%
}
catch (SQLException xp)
{
out.println("Error SQL ...");
out.println(xp.getMessage());
}
catch (Exception ex)
{
out.println("Error");
out.println(ex.getMessage());
}
finally
{
if (rs != null) rs.close();
if (pst != null) pst.close();
if (conn != null) conn.close();
}
%>
</form>
</body>
</html> |