Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2006
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Ayuda Con Consulta

hola A TODOS, sucede lo siguiente, este es mi codigo:
Código Delphi [-]
procedure TAlquiler.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
  begin
qryCliente.Close;
qryCliente.SQL.Add(' SELECT telefono1_cliente, nombre_cliente, apellido_cliente FROM tbClientes ');
qryCliente.SQL.Add('WHERE telefono1_cliente = :telefono');
qryCliente.Parameters.ParamByName('telefono').Value:=strtoInt(MaskEdit1.Text);
qryCliente.Open;
if not qryCliente.IsEmpty then
   DBText1.Caption:=qryClientenombre_cliente.Value+' '+qryClienteapellidos_cliente.Value;
  end;
end;


el campo telefono1_cliente es un campo de texto tipo 809-555-5555, pues cuando corro la aplicacion y digito el telefono para llamar al cliente 809-555-5555 me sale el siguiente error: "809-555-5555 is not a valid integer value" esta claro que no es un valor numerico esto esta en :
Código Delphi [-]
qryCliente.Parameters.ParamByName('telefono').Value:=strtoInt(MaskEdit1.Text);


cual es el valor que debo poner en vez de StrtoInt he intentado con varios y no doy con el. para que tengas una idea de todo lo que tengo en mi form:

1 - adoquery (deberia tenerlo? o no es necesario?, debe estar en false?)
1 - datasource
1 - maskedit (clientes)
1 - edit (peliculas)
1 - base de datos MS ACCESS
3 - tablas (tbClientes, tbPeliculas, tbPeliculasAlquilada)
1 - dbgrid
2 - speedbuttons (para hacer busquedas de clientes y peliculas tipo ... )
3 - dbedit (donde se mostraran los totales del alquiler, subtotal, iva y total)
2 - dbtext (donde se mostraran el nombre de la pelicula y el cliente)
2 - checkbox (donde se indicara si el cliente paga en efectivo o credito)
4 - buttons (cobrar, anular, cancelar y cerrar)

gracias

Última edición por enecumene fecha: 13-07-2006 a las 17:49:49.
Responder Con Cita
  #2  
Antiguo 13-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
¿Si telefono1_cliente es un campo de texto por qué le envías un integer? Deberías enviarle un string.
Código Delphi [-]
qryCliente.Parameters.ParamByName('telefono').AsString:=MaskEdit1.Text;
Responder Con Cita
  #3  
Antiguo 13-07-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por kuan-yiu
Código Delphi [-]
qryCliente.Parameters.ParamByName('telefono').AsString:=MaskEdit1.Text;
Creo que tratándose de un AdoQuery, no hay AsString.

// Saludos
Responder Con Cita
  #4  
Antiguo 13-07-2006
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
roman tiene razon tratandose de componentes ado no hay asString, y roman sin ponerle nada

Código Delphi [-]
qryCliente.Parameters.ParamByName('telefono').Value:=MaskEdit1.Text;

me sale un error que dice "ole error 800A0d5d" cuando intento probarlo.

gracias...
Responder Con Cita
  #5  
Antiguo 13-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
jejeje... No me fijé en que era un AdoQuery
Bueno, yo normalmente no los uso, así que no estoy segura de que esto valga... Pero por probar...
Código Delphi [-]
qryCliente.Close;
qryCliente.SQL.Add(' SELECT telefono1_cliente, nombre_cliente, apellido_cliente FROM tbClientes ');
qryCliente.SQL.Add('WHERE telefono1_cliente = ' + '''' + MaskEdit1.Text + '''');
qryCliente.Open;
Responder Con Cita
  #6  
Antiguo 13-07-2006
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
gracias kuan-yiu por responder, pero me salio un error de sintaxis en la consulta telefono1_cliente= ?, no habra otra forma de hacerlo?

gracias...

Última edición por enecumene fecha: 13-07-2006 a las 18:15:35.
Responder Con Cita
  #7  
Antiguo 13-07-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y si no pones nada?

Código Delphi [-]
qryCliente.Parameters.ParamByName('telefono').Value:=MaskEdit1.Text;

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con una consulta ddd_ddd SQL 7 06-05-2006 23:38:18
Ayuda con una consulta plz ! K4RL0S SQL 9 17-11-2005 17:33:09
Ayuda con consulta raco Varios 4 08-04-2005 21:56:43
Ayuda con consulta!! PINO72 Firebird e Interbase 1 17-10-2004 04:54:48
Ayuda con una consulta sql marcelofabiani SQL 4 27-07-2003 23:30:13


La franja horaria es GMT +2. Ahora son las 22:02:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi