Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Question Consulta de SQL con problemillas...

Estimados colegas; tengo el siguiente codigo y quisiera alguna opinion y/o correcion
Código Delphi [-]
query1.sql.Clear;
query1.SQL.add('select * from proveedores where rut = arametro');
query1.ParamByName('parametro').AsInteger := Strtoint(Edit3.Text);
query1.ExecSQL;
edit2.Text := query1.ParamByName('nombre').AsString;
En el fondo lo que trato de hacer es que el rut que ingreso en un edit (el rut es el numero identificador unico de personas y empresas aca en chile, para los que no sepan de que hablo) me sirva para rescatar los datos de la bd, pero no me queda claro si esta es la manera adecuada o tal vez ocupando una table en vez de una query.

Bueno, gracias para todos los que puedan colaborar.
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #2  
Antiguo 12-03-2007
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
No tiene nada de malo este método, excepto que debes usar query1.Open en lugar de query1.ExecSQL.

// Saludos
Responder Con Cita
  #3  
Antiguo 12-03-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para mi lo estas haciendo dos veces.
Código Delphi [-]
query1.sql.Clear;
query1.SQL.Text 'select * from proveedores where rut = '+ Strtoint(Edit3.Text);
query1.ExecSQL;
edit2.Text := query1.ParamByName('nombre').AsString;
Saludos
Responder Con Cita
  #4  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Se me olvido acotar que este codigo me arroja el siguiente error :
Project Project1.exe raised exception class EDatabaseError with message 'Query1 : Parameter 'nombre' not found'

Cabe mencionar que el campo nombre si se encuentra en la tabla proveedores, por lo tanto no se s que se referira...... que creen ustedes
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #5  
Antiguo 12-03-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Bueno me tocaria preguntar que base de datos usas?
Saludos
Responder Con Cita
  #6  
Antiguo 12-03-2007
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
La última línea en tu código sobra, no sé cuál es la intención de ponerla, pero no tienes en tu sentencia SQL más que un parámetro cuyo nombre es "parametro", así que no entiendo cuál es la intención de esa línea.

// Saludos
Responder Con Cita
  #7  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Question

Código Delphi [-]
query1.sql.Clear;
query1.SQL.add('select * from proveedores where rut = arametro');
query1.ParamByName('parametro').AsInteger := Strtoint(Edit3.Text);
query1.ExecSQL;
edit2.Text := query1.ParamByName('nombre').AsString;
La idea es que con las lineas query....... obtengo la informacion de un determinado rut, y luego con la ultima linea quiero pasar el dato del nombre de dicho rut a un campo edit en el formulario.Esto pues en la sentencia sql obtengo se supone todos los campos del registro , por lo tanto no deberia tener problemas en recuperar el campo nombre o cualquier otro de dicho registro .mmm parece que tal vez la ultima linea debiera ser algo asi
Código Delphi [-]
edit2.text := query1.fieldbyname('nombre').AsString;
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #8  
Antiguo 12-03-2007
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 ilichhernandez
mmm parece que tal vez la ultima linea debiera ser algo asi
Código Delphi [-]
edit2.text := query1.fieldbyname('nombre').AsString;
Pues ya te has contestado tú mismo

// Saludos
Responder Con Cita
  #9  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
que raro, me sigue dando el error que anteriormente mencione en el parametro....
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #10  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Considerando que el método que estoy tratando me da error, que método alternativo podria usar....????
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #11  
Antiguo 12-03-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
El error estaba en mi sentencia sql, pues el parametro debia ser antecedido por ":" y se me habia pasado. Bueno gracias a todos los que me echaron una mano.

Agradecido
Ilich Hernandez
__________________
[Lo que a veces es tan facil, a veces parece imposible]
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
Problemillas con el Memo... VaMPiRu Varios 4 21-11-2006 12:03:12
problemillas con una consulta weke Conexión con bases de datos 2 15-06-2004 16:51:57
Problemillas con mi mensajero jfontane Varios 3 06-09-2003 19:19:46


La franja horaria es GMT +2. Ahora son las 23:30:16.


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