![]() |
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 |
Te falta decir con que componentes te conectas y a qué base de datos. Access, Dbase, Paradox?
Lo que te pongo puede ser una solución fácil. Un Saludo. |
¡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]); Código:
if (Table1.FindKey([campo_calve_primaria, campo_calve_primaria]) = false) then Espero que te sirva. Saludos.:) |
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 :D |
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 |
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 |
|
Otra opción.
Capital.Txt = Query1.FieldByName('Capital').AsString; Saludos. |
Otra consulta mas
La de asigncion sobre una sentencia SQL ya lo solucione ahora me falta:
El update en delphi como lo toma? QConsulta.Close; QConsulta.SQL.Text:='update country set Capital := t_capital.Text where Capital = ' + QuotedStr(t_pais.Text); QConsulta.Open; tengo que actualizar el campo capital con lo ingresado en un text, y lo busca con lo ingresado en el textpais, ese vendria a ser el campo unico ¿COMO SERIA LA SENTENCIA? NO ME RESPONDIERON LA CONSULTA SOBRE EL KEYPRESS EN DELPHI, POR FAVOR AYUDENME YA QUE ES PARA ENTRAR A UN LABURO |
|
Hola compañero,
veo que eres nuevo y que además andas un poquillo apurado :D :D De todas maneras seria de agradecer que le echases un vistazo a la guia de estilo. Para empezar, podrías hacer un par de cosas, pon tu codigo entre etiquetas "[code]" o "[delphi]" para que se vea bien el codigo y abre un hilo nuevo para cada consulta. Piensa que así, si otro compañero tiene la misma duda, la podrá encontrar más facilmente en la herramienta de búsqueda ;) |
Cita:
OnKeyPress ->fíjate en los parámetros Pos -> en lugar de InStr suerte ;) por cierto... no hace falta que insistas más en lo urgente que es... piensa que aquí nadie pregunta por gusto ;) |
Sobre el KeyPress
Estuve viendo la ayuda y sinceramente no es nada clara.
Por lo que interprete arme esta sentencia que me da error: Yo lo que tengo que hacer es que en el text solo me deje escribir numeros, agradeceria si alguien se tomara el tiempo de escribir el codigo Con respecto a lo del apuro, pido disculpas. Y al ser nuevo en este foro no sabia algunas de las reglas con las cuales se manejan Gracias por responder. |
|
Cita:
Por cierto, he editado tu mensaje para poner el código entre etiquetas "[delphi]", ¿ves la diferencia?.... |
La franja horaria es GMT +2. Ahora son las 08:43:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi