Error Ayuda!

15/05/2005 - 16:51 por milton | Informe spam
Amigos,

Tengo este error a la hora de consultar la base de datos para hacer un
select de registros de la tabla. les explico con ejemplo:

esta es el textbox donde se captura la fecha
txtdate.Text = "";

y aqui hago la busqueda

myCmd.Connection = Conn;
myCmd.CommandText = "SELECT * FROM reserva WHERE departure ='" +
ddlFromID.SelectedItem.Value +
"' AND arrival ='" + ddlToID.SelectedItem.Value +"' AND horario ='" +
ddlDepartureID.SelectedItem.Value + "' AND fecha_efectiva = '" +
DateTime.Parse(txtdate.Text) + "' AND status='A'";


y este es el error que me da

Exception Details: System.Data.OleDb.OleDbException: Data type mismatch in
criteria expression

les cuento que he probado cambiando el valor por default del textbox
asignandole el DateTime.Now.ToString() y cuando hago la busqueda como
quiera da el error.

espero me puedan orientar a ver por donde anda la solucion de esto,

gracias mil

milton
 

Leer las respuestas

#1 Octavio Hernandez
15/05/2005 - 20:52 | Informe spam
Milton,

Te recomendaría utilizar una sentencia parametrizada (con parámetros) en
lugar de esa concatenación que tienes, ganarás en a) eficiencia b)
seguridad, y c) independencia de la sintaxis de fecha de la bases de datos.
Por ejemplo me parece que en Access (¿es eso lo que estás usando?) hay que
delimitar las fechas mediante '#', así: '#10/10/2005#".

Salu2 - Octavio

"milton" escribió en el mensaje
news:um%
Amigos,

Tengo este error a la hora de consultar la base de datos para hacer un
select de registros de la tabla. les explico con ejemplo:

esta es el textbox donde se captura la fecha
txtdate.Text = "";

y aqui hago la busqueda

myCmd.Connection = Conn;
myCmd.CommandText = "SELECT * FROM reserva WHERE departure ='" +
ddlFromID.SelectedItem.Value +
"' AND arrival ='" + ddlToID.SelectedItem.Value +"' AND horario ='" +
ddlDepartureID.SelectedItem.Value + "' AND fecha_efectiva = '" +
DateTime.Parse(txtdate.Text) + "' AND status='A'";


y este es el error que me da

Exception Details: System.Data.OleDb.OleDbException: Data type mismatch in
criteria expression

les cuento que he probado cambiando el valor por default del textbox
asignandole el DateTime.Now.ToString() y cuando hago la busqueda como
quiera da el error.

espero me puedan orientar a ver por donde anda la solucion de esto,

gracias mil

milton




Preguntas similares