Ir al contenido



Foto

Editor con Access programado entre todos


  • Por favor identifícate para responder
70 respuestas en este tema

#61 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 mensajes
  • LocationArgentina

Escrito 27 julio 2010 - 08:14

Hola
Maestro nada, cada dia soy mas novato. :
Cuando gustes abre un hilo, create una BD con una tabla o dos y le damos duro al uso de concatenacion, parametros y otras curiosidades que tiene este lenguaje. (y)
Te insisto en el uso de parametros y creo que si no lo manejas bien deberias de entarle mucho ya que es muy Practico cuando se quiere hacer un insert, delete, update etc con sql, sobre todo cuando son muchos campos.
Me alegra servirte de algo amigo. (y)
Saludos

Estaría muy bueno otro hilo.
Algo como "Usos de SQL en Delphi y bases Access"
De ser posible y por razones obvias desde cero.
Un saludo
¿Te parece?
  • 0

#62 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 27 julio 2010 - 08:17

Hola
Claro amigo.
Abre el hilo y crea la BD, recuerda que no tengo el 2003. *-)
Me parece que puede servir de mucho, asi aprenderemos todos. (y)
Saludos
  • 0

#63 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 28 julio 2010 - 02:38

Buenas,

Me meto:

Yo también  :D

Sólo aclarar que en las sentencias SQL concatenadas, dependiendo del tipo de valor éste tendrá que ir entre comillas. En el ejemplo, FirstName, es de suponer que es de tipo texto, por lo que la línea de Delphi tendría que ser algo así



delphi
  1. Adoquery1.sql.text:= 'SELECT * FROM Persons WHERE FirstName = ' + QuotedStr(Edit1.text);



Por lo general, los datos de texto, hora, fecha y datetime (creo que no me dejo ninguno), van entre comillas.
En las sentencias parametrizadas, por el contrario, este pequeño "inconveniente" no lo tienes.

Por cierto, el lenguaje Delphi no tiene nada que ver con el lenguaje de SQL. Fíjate que lo que "montamos" son strings para Delphi que luego, el motor de base de datos se encarga de interpretar (lenguaje SQL), de ahí que lo de los dos puntos no sea cosa de Delphi, sino de SQL y, según la definición de este lenguaje, los dos puntos indican un parámetro ;)

Nos leemos

  • 0

#64 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 mensajes
  • LocationArgentina

Escrito 28 julio 2010 - 05:31

Hola
Claro amigo.
Abre el hilo y crea la BD, recuerda que no tengo el 2003. *-)
Me parece que puede servir de mucho, asi aprenderemos todos. (y)
Saludos

Hola Caral:
He iniciado el nuevo hilo "Uso de SQL en bases de Datos Access con Delphi" en la Sección Tutoriales
http://www.delphiacc...hp?topic=3596.0
Un saludo
  • 0

#65 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 28 julio 2010 - 05:37

Hola
Listo, a ver que sale de esto.
Este hilo tambien hay que seguirlo, me parece que todavía quedan dudas y se puede aprender mucho mas de la aplicacion de Wilson.
Saludos

  • 0

#66 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 28 julio 2010 - 06:56

Hola
Listo, a ver que sale de esto.
Este hilo tambien hay que seguirlo, me parece que todavía quedan dudas y se puede aprender mucho mas de la aplicacion de Wilson.
Saludos


Amigo Caral, cualquier duda  .... no dudes en preguntar, que estaré presto a contestar.

Saludos
  • 0

#67 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 mensajes
  • LocationArgentina

Escrito 28 julio 2010 - 08:07

Hola
Listo, a ver que sale de esto.
Este hilo tambien hay que seguirlo, me parece que todavía quedan dudas y se puede aprender mucho mas de la aplicacion de Wilson.
Saludos

Por supesto. De mi parte tengo un montón de cuestiones para ver. Estoy revisando ambas ejemplos paso a paso. Como se darán cuenta me lleva tiempo y tengo que indagar en manuales y demás.
Muchas gracias Caral y Wilson, es muy valioso lo que ofrecen.
Saludos

  • 0

#68 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 mensajes
  • LocationArgentina

Escrito 02 agosto 2010 - 06:00

Hola Caral:
Acerca de tu versión del editor tengo preguntas:
¿Podés comentar este trozo de tu código?
Te muestro lo que no entiendo con marcas de comentario:



delphi
  1. procedure TForm1.Button5Click(Sender: TObject);
  2. begin
  3.   DM1.QTemp.Prior;
  4.   Memo1.Lines.Clear;
  5.   Label4.Caption:= CBCategorias.Text;
  6.   Label8.Caption:= DM1.QTemp.Fields[0].Value; //Fields [0].value
  7.   TabSheet1.Caption:= DM1.QTemp.Fields[1].AsString; //Los números entre corchetes ¿Por qué 1, 2, 3 ?
  8.   Memo1.Lines.Add(DM1.QTemp.Fields[2].AsString);
  9.   Label11.Caption:= DM1.QTemp.Fields[3].AsString;
  10.  
  11.   DM1.QTemp1.SQL.Text := 'Select Creador From Creadores Where Id_Creador = :ID';
  12.   DM1.QTemp1.parameters[0].Value:= Label11.Caption; //Esta línea
  13.   DM1.QTemp1.Active := True;
  14.   Label5.Caption:= DM1.QTemp1.Fields[0].AsString;
  15. end;



Muchas gracias
Un saludo
  • 0

#69 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.248 mensajes
  • LocationArgentina

Escrito 02 agosto 2010 - 06:11

Hola esocrates,
Los números entre corchetes indican la posición del campo en la tabla o consulta.

Para acceder a un campo se puede hacer de .Fields[] con el número o posición del campo o de FieldByName() mediante el nombre del campo.

Saludos,


  • 0

#70 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 02 agosto 2010 - 06:33

Hola
Como te lo ha dicho Delphius.
Se usa para reconocer o el campo de una consulta o el parametro de una consulta mediante numeracion en vez del nombre, a mi me gusta usarlo.
ejemplo:



delphi
  1. Adoquery1.sql.text:= ' select comedor, baño, sala from casa';
  2. Adoquery1.open;



como ves Aqui hay tres campos comedor, baño, sala.
Si quiero verlos, compararlos etc, lo puedo hacer por el nombre o por la posicion de la CONSULTA no de la posicion de la tabla.

Posicion 0 es comedor
Posicion 1 es baño
Posicion 2 es sala.

entonces digamos con edits:

Edit1.text:= Adoquery1.Fields[0].Value; // comedor
Edit2.text:= Adoquery1.Fields[1].Value; // baño
Edit3.text:= Adoquery1.Fields[2].Value; // sala

Es lo mismo con los parametros solo que en vez de fields se usa parameters con ado.

Saludos
  • 0

#71 esocrates

esocrates

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 102 mensajes
  • LocationArgentina

Escrito 02 agosto 2010 - 06:48

Muchas gracias Delphius y Caral.
Me queda claro ahora
Saludos
  • 0