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 18-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Problema de seleccion en BD

Saludos amigos, donde quiera que se encuentren.

En esta ocasion tengo un inconveniente bastante desconcertante,
porque segun he visto en algunos tutoriales, y pues usando el sentido comun
he intentado hacer esto(Me falla el sentido comun ahora :S):

Esto es un ejercicio para conocer como funciona este proceso,
pues lo he querido aprender, por lo util que es,
la cuestion es que tengo una BD con varios campos,
y quiero ingresar un codigo, y que este busque el codigo
y me devuelva el nombre del articulo, entonces he intentado hacerlo de esta manera:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Codigo:String;
begin
  Codigo:=Form1.Edit1.Text;
  if FileExists (ZConnection1.Database) then
    begin
      ZQuery1.Close;
      ZQuery1.SQL.Text:= 'SELECT NombreArticulo FROM InventarioArticulos WHERE CodigoArticulo = '+Codigo;
      ZQuery1.Open;
    end
  Else
  ShowMessage('BD No encontrada');
end;

El ZQuery esta conectado con el ZConnection, y con el DataSource,
ahora en la parte grafica Tenemos, un Edit, para leer el codigo,
y un DBEdit para mostrar el resultado, ese DBEdit tiene en su DataField, "NombreArticulo"
pero la cuestion es que cuando activo la aplicacion,
ya me tiene el nombre del producto escrito de una vez,
ahora cuando ingreso el codigo en este caso 101,
y le doy click, me arroja error,

Código:
SQL Error or missing database.
como siempre ya no se que pueda hacer, pues son mis primeros pasos
muchas gracias por su tiempo y ayuda
Responder Con Cita
  #2  
Antiguo 18-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y qué tienes puesto en ZConnection1.Database ?

Responder Con Cita
  #3  
Antiguo 18-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Y qué tienes puesto en ZConnection1.Database ?

Alli tengo la ruta de la base de datos, y esta conectada :/
Responder Con Cita
  #4  
Antiguo 18-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, en principio, si el código en la BD es un campo de texto entonces está mal esto (y si es numérico también está mal):
Código Delphi [-]
ZQuery1.SQL.Text:= 'SELECT NombreArticulo FROM InventarioArticulos WHERE CodigoArticulo = '+Codigo;

Si es de texto:
Código Delphi [-]
zquery1.sql.text := 'select nombrearticulo from inventarioarticulos where codigoarticulo= ' + quotedstring(codigo);
Y si es numérico:
Código Delphi [-]
zquery1.sql.text := 'select nombrearticulo from inventarioarticulos where codigoarticulo= ' + inttotring(codigo);

Edito: veo que tienes una variable 'codigo' de texto:
Código Delphi [-]
zquery1.sql.text := 'select nombrearticulo from inventarioarticulos where codigoarticulo= ' + codigo;
Responder Con Cita
  #5  
Antiguo 18-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Bueno,
la compatibilidad creo que esta bien, porque ese codigo variable,
lo leemos por medio de un Edit, y eso es String, y de una vez guarda eso en una variable string,
entonces para que lo cambiamos a String?

Código Delphi [-]
zquery1.sql.text := 'select nombrearticulo from inventarioarticulos where codigoarticulo= ' + inttotring(codigo);

Mira, El CodigoArticulo en la BD es un Integer, eso afecta?
Gracias Campeon
Responder Con Cita
  #6  
Antiguo 20-08-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 12
martini002 Va por buen camino
Bueno ya pude resolverlo gracias a Dios,
1-. Recomiendo siempre intentar y ensayar sin saber los resultados (ensayo y error)
2-. Siempre haz tu backup antes de hacer lo anterior.

Decidi hacer este ejercicio adaptado a mi base de datos:

Pero me daba un error cuando buscaba en desde el memo,
por ejemplo escribia Select * from InventarioArticulos mostraba en el grid todo el contenido de la BD
pero cuando buscaba Select NombreArticulo from InventarioArticulos,
me daba un error, me decia que la siguiente columna no se encontraba, "CodigoArticulo"
No se si a alguien le pase lo mismo, pero se resuelve de la siguiente manera,
en el objeto ZQuery1 deben dejar en blanco todos los Fields, no deben importar eso,
quiza fue mi error importarlos, pero ya me di cuenta que eso funciona para otra cosa, usando los DBEdits

Algo que me ayudo mucho en este camino fueron los siguientes textos y una herramienta muy util que compartire con ustedes.

El lenguaje SQL de Carme Martín Escofet
Seccion 2.

La cara oculta de Delphi 6 de Ian Marteens

SQLiteExpert (edición personal)
Para Administrar la BD y hacer pruebas, muy util,
en la pagina aparecen algunos tutoriales

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
Problema con combobox de seleccion tebre Conexión con bases de datos 5 04-03-2018 03:51:48
Color de selección reinier OOP 1 27-04-2008 14:36:18
Problema seleccion de bases de datos. noukeys Conexión con bases de datos 3 13-12-2007 20:33:30
Imprimir por seleccion? danytorres Impresión 4 27-11-2006 19:15:59
una seleccion YolandaM Impresión 2 04-10-2003 20:11:59


La franja horaria es GMT +2. Ahora son las 05:17:38.


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