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 26-05-2004
ricardocid ricardocid is offline
Registrado
 
Registrado: may 2004
Posts: 7
Poder: 0
ricardocid Va por buen camino
Question AyUda !!EXAMEN de SQL

Por favor necesito que me ayuden, el viernes tengo que rendir un examen en el trabajo de delphi, me dijieron que mas o menos en lo que consiste y necesito que me ayuden. Trabaje en VisualBasic durante mucho tiempo perfectamente y el traslado a Delphi se me esta complicando.
En primer termino trabaja sobre tablas planas EJ
TABLA: PAISES
REGISTROS
*nombre(campo clave)
*capital
*poblacion
*area
*densidad

Debo poder ingresar un registro si este no existe anteriormente.
Yo tengo pensado hacer
sentencia SQL select nombre from paises where nombre = textbox
luego comparar el resultado
si es nulo
no permito la edicion
si no es nulo
permito la edicion

El problema que al no conocer bien la estructura del codigo no me sale

MODIFICAR, ELIMINAR Y DEMAS YA LO SE HACER PERO NO ME SALE EJECUTAR LA SENTENCIA. Esto es lo que intente

busqueda := t_pais.Text;
QConsulta.Close;
QConsulta.SQL.Text:='Select Nombre from paises where Nombres = : busqueda & ;';
QConsulta.Open;
result :=QConsulta.fields[0].asstring;

POR FAVOR AYUDENME LO MAS EXPLICITO Y DETALLADO QUE PUEDAN SE LOS VOY AGRADECER YA QUE ES POR TRABAJO.
Gracias
Responder Con Cita
  #2  
Antiguo 26-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Te falta decir con que componentes te conectas y a qué base de datos. Access, Dbase, Paradox?

Código SQL [-]
busqueda := t_pais.Text;
QConsulta.Close;
QConsulta.SQL.Text:='Select Nombre from paises where Nombres = ' +QuotedStr(Edit1.Text);
QConsulta.Open;
result :=QConsulta.fields[0].asstring;

Lo que te pongo puede ser una solución fácil.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 26-05-2004
Avatar de weke
weke weke is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia
Posts: 170
Poder: 21
weke Va por buen camino
¡Buenas!

Yo para comprobar si existe un registro o no, antes de insertarlo, lo hago sin utilizar una consulta SQL, de la siguiente manera:
Código:
	esta:=Table1.FindKey([campo_calve_primaria, campo_calve_primaria]);
	if (esta = false) then
//inserto el elemento
Nota: 'esta' es una variable boolean, que no es necesaria si lo haces de la siguiente forma:
Código:
	if (Table1.FindKey([campo_calve_primaria, campo_calve_primaria]) = false) then
//inserto el elemento
La cuestión es que en el 'FindKey' introduces el campo o campos que forman la clave primaria para que busque en la tabla, si existe te devuelve cierto y si no existe de devuelve falso.

Espero que te sirva.

Saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior.
Responder Con Cita
  #4  
Antiguo 26-05-2004
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Talking Nada mas falta

Bueno las respuestas anteriores son unas de varias opciones,

Tambien puedes hacerlo con Locate
o levantando una excepcion y mandando un mensaje diciendoles
ejele ejele ese ya esta

osease ya tienes 4 opciones
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
  #5  
Antiguo 26-05-2004
ricardocid ricardocid is offline
Registrado
 
Registrado: may 2004
Posts: 7
Poder: 0
ricardocid Va por buen camino
Question mas ayuda!!!!

gRACIAS POR responder, ese tema ya lo solucione gracias a ustedes, ahora tengo que validar los campos,
*nombre(campo clave)(LETRAS)
*capital(LETRAS)
*poblacion(NUMEROS)
*area(NUMEROS)
*densidad(NUMEROS)

YO EN VISUAL LO HACIA ASI, EN DELPHI COMO ES?
Private Sub c_devuelto_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then c_devuelto2.SetFocus
cadena = "0123456789" + Chr(8) 'chr(8) = delete, es decir admitimos borrar
If InStr(cadena, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub

MUCHAS GRACIAS Y POR FAVOR SIGANME AYUDANDOME
Responder Con Cita
  #6  
Antiguo 26-05-2004
ricardocid ricardocid is offline
Registrado
 
Registrado: may 2004
Posts: 7
Poder: 0
ricardocid Va por buen camino
Question Otra consulta mas

QConsulta.Close;
QConsulta.SQL.Text:='Select Name, Capital, Continent, Area, Population from country where Name = ' + QuotedStr(t_pais.Text);
QConsulta.Open;

¿Como hago para poner el nambre en un text, capital en otro text, area en otro text y population en otro text,
Aclaro que el nombre por el cual hagola busqueda es campo unico, por lo tanto me va a devolver u solo registro. Yo en visual usaba
capital.text=rs!Capital,
En delphi ¿como tengo que hacer?
Gracias por ayudarme
Responder Con Cita
  #7  
Antiguo 26-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código SQL [-]
Capital.Text:=Field[0].AsString;

El 0 tienes que sustituirlo por el lugar que ocupe el campo en el Sql empezando por 0 hast x -1.

Si creas campos persistentes:
Entonces podrías hacer:

Código SQL [-]
Capital.TExt:=Quer1Micampo.Value;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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


La franja horaria es GMT +2. Ahora son las 14:42:28.


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