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 21-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
Problema!!! ayudarme please!! novatillo.. jaajja

buenas!!

os contare mi pequeño problema pero que para mi es de lo mas grande de momento, (he empezado con delphi i todo su mundo desde hace menos de 24horas... asi k imaginar lo perdido k voy).
tengo un formulario con 3 campos TEdit de nombres (nomClub, direccioClub i mailClub), a parte tengo una base de datos de la cual ya tengo hecha la conexion con un ADOConnect i tambien tengo preparado el ADOQuerry(esto en principio no tendiria que petar porque ayer consegui que funcionase en una prueba).

la idea es hacer un boton que lo unico que haga es recoger los campos Text de los Tedit i me haga un insert en la tabla Club que tengo creada en la base de datos( las columnas a rellenar serian nom_club, direccio i mail_club)

os pongo el procedimiento del botoncillo que tengo hecho i en principio me faltaria la parte del medio:
procedure TcrearClub.BcrearClubClick(Sender: TObject);
var
sentencia: TStrings;

begin
sentencia.Create

ESTO ES LO QUE ME FALTA.

conexio.Open
sqlCrearClub.Active:=True
sentencia.Free;
end;
end.

Tengo mas o menos la idea de lo que tengo que hacer pero no se pk no me va.. os escrivo lo k tengo hecho a ver si me veeis los fallos... me da errores pero como soy NOVATO NOVATO pues no se por donde empezar!!

sentencia.Add('Insert into Club (nom_club,direccio,mail_club) values (')
sentencia.Append(nomClub.SelText);
sentencia.Append(',');
sentencia.Append(direccioClub.SelText);
sentencia.Append(',');
sentencia.Append(mailClub.SelText);
sentencia.Append(')');
sqlCrearClub.SQL.AddStrings(sentencia); // el sqlCrearClub es el objeto ADOQuerry

muchissimas gracias a quien pueda solusionarme este pekeñoGRANDE problema...

algun dia ya no tendre que preguntar cosillas asi.. pero de momento no tengo otra eleccion...

o0 CarloS 0o
Responder Con Cita
  #2  
Antiguo 21-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Bueno kye_z. Lo primero que te recomiendo es que te leas la Guia de estilo y antes o despues de eso, que leas un manual de Delphi

Para hacer lo que quieres basta con lo siguiente:

Se supone que tiene un tTable en tu formulario asociado a la tabla en la que quieres insertar. Pues bien:

Código:
  TuTabla.Insert;
  TuTabla.fieldByName('NombreCampo1').asString:= edit1.text;
  TuTabla.fieldByName('NombreCampo'2).asString:= edit2.text;
  TuTabla.fieldByName('NombreCampo3').asString:= edit3.text;
  try
    TuTabla.Post;
  except
    ShowMessage('Error insertando registro en la tabla');
  end;
__________________
Saludos,
Peter Investment
Responder Con Cita
  #3  
Antiguo 21-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Acabo de leer que tienes una Query.... en ese caso:

Código:
  TuQuery.Close;
  TuQuery.Sql.Clear;
  TuQuery.Sql.Add(' INSERT INTO TuTabla'+
                         'Values(:Campo1,:campo2,:campo3)');
  Tuquery.ParamByName('Campo1').value:= edit1.text;
  Tuquery.ParamByName('Campo2').value:= edit2.text;
  Tuquery.ParamByName('Campo3').value:= edit3.text;

  try
    TuQuery.ExceSQL;
  except
    ShowMessage('Error insertando registro en la tabla');
  end;
__________________
Saludos,
Peter Investment
Responder Con Cita
  #4  
Antiguo 21-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
muchas gracias.....


intentare solucionar mi problema con tus solusiones de momento toy provando varias cosillas,

mmm la guia de estilos ya la he leido ya que me lo recomiendas i luego que sepas que estoy tambien con un par d manuales de delphi pero que si no encuentro la solucion alli o no me aclaro pues.. kreo yo... (i no es para meterme con nadie) que para eso estan los foros no?! para que la gente se ayude ya sea un novato como yo como un experto.

enga asias !!! ya os contare como lo he solucionao al final...
__________________
------------------------
o0 CarloS 0o
Joven Padawan
algun dia sere un maestro...
------------------------
Responder Con Cita
  #5  
Antiguo 21-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
Solucion que me funciona!!

buenas,

despues de pelearme unos minutejos mas con las soluciones que me habeis dado, he encontrado esta que de momento me funciona, tengo que mejorarla para que no me pongan el campo nomClub en blanco i le den al boton... asi que en kuanto tenga mi solucion os la propondre para que me la critikeis!!

solcion acutal:

sqlCrearClub.Sql.Clear;
sqlCrearClub.Sql.Add(' INSERT INTO Club (nom_club) VALUES ("'+ nomClub.Text +'")');
conexio.Connected:=True;
sqlCrearClub.ExecSQL;
conexio.Connected:=False;

estoy abierto a criticas i lo que se os ocurra!! muchas gracias por vuestra desinteresada ayuda i espero ir mejorando...
__________________
------------------------
o0 CarloS 0o
Joven Padawan
algun dia sere un maestro...
------------------------
Responder Con Cita
  #6  
Antiguo 21-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Post

Mis recomendaciones son solo eso, recomendaciones. En ningun caso te lo he dicho para meterme contigo y si te lo has tomado asi acepta mis disculpas... pero creí que no la habias leido por el título de tu mensaje.

Y respecto a los manuales.... dales cañita que veras como en breve serás tu quien solucione problemas a los demas

Cita:
Empezado por kye_z
estoy tambien con un par d manuales de delphi pero que si no encuentro la solucion alli o no me aclaro pues.. kreo yo... (i no es para meterme con nadie) que para eso estan los foros no?! para que la gente se ayude ya sea un novato como yo como un experto.
Por supuesto que los foros estan para ayudarnos entre todos... eso no admite discusion
__________________
Saludos,
Peter Investment
Responder Con Cita
  #7  
Antiguo 21-10-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Cita:
Empezado por kye_z
buenas,

despues de pelearme unos minutejos mas con las soluciones que me habeis dado, he encontrado esta que de momento me funciona, tengo que mejorarla para que no me pongan el campo nomClub en blanco i le den al boton... asi que en kuanto tenga mi solucion os la propondre para que me la critikeis!!
Código:
//   Con esto evitarás que se intente grabar un registro en blanco

  if Trim(nomClub.Text)='' then
  begin
    ShowMessage('Rellene el campo NumClub');
    EXIT;
  end;

Cita:
Empezado por kye_z

estoy abierto a criticas i lo que se os ocurra!! muchas gracias por vuestra desinteresada ayuda i espero ir mejorando...
Solo quieres grabar el valor del campo nom_club?? Si es así, tu código está bien.
__________________
Saludos,
Peter Investment
Responder Con Cita
  #8  
Antiguo 21-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
trankilo no me lo he tomado mal...

lo de que estare solusionano problemas a los demas.. de momento lo veo lejos.. pero voy aprendiendo poko a poko .... ya he comentao en el primer post que llevo apenas 24 horitas en esto.. i toy avanzando a pasos agigantados... jejeje


enga nos vemos!! i gracias por la ayuda
__________________
------------------------
o0 CarloS 0o
Joven Padawan
algun dia sere un maestro...
------------------------
Responder Con Cita
  #9  
Antiguo 21-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
otias!! asias por el detallito del Trim() <... yo lo habia puesto sin.. i me he fijado que limpia la cadena de espacios !!

perfecto.. creo que ya empiezo a pillar algunas cosillas!!

muchas gracias!!


p.d. En principio tengo que contrlolar alguna que otra cosilla... pero para empezar... mejor poko a poko i de una en una.. jejejeje enga muchas gracias de nuevo!!
__________________
------------------------
o0 CarloS 0o
Joven Padawan
algun dia sere un maestro...
------------------------
Responder Con Cita
  #10  
Antiguo 21-10-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 23
kinobi Va por buen camino
Hola,

sólo un comentario: cuando escribas código (Delphi, SQL, PHP...) procura encerrarlo entre las etiquetas adecuadas, para que quede resaltada su sintaxis y se utilice tipografía de ancho fijo. Así es mucho más fácil de leer. Ejemplo (sacado de tus propios mensajes):

Tal como tú lo has puesto:

sentencia.Add('Insert into Club (nom_club,direccio,mail_club) values (')
sentencia.Append(nomClub.SelText);
sentencia.Append(',');
sentencia.Append(direccioClub.SelText);
sentencia.Append(',');
sentencia.Append(mailClub.SelText);
sentencia.Append(')');
sqlCrearClub.SQL.AddStrings(sentencia); // el sqlCrearClub es el objeto ADOQuerry


Tal como quedaría con la etiqueta Delphi

Código Delphi [-]
sentencia.Add('Insert into Club (nom_club,direccio,mail_club) values (')
sentencia.Append(nomClub.SelText);
sentencia.Append(',');
sentencia.Append(direccioClub.SelText);
sentencia.Append(',');
sentencia.Append(mailClub.SelText);
sentencia.Append(')');
sqlCrearClub.SQL.AddStrings(sentencia); // el sqlCrearClub es el objeto ADOQuerry

Hace tiempo se publicó (en todos los foros) un mensaje con las instrucciones para el uso de estas etiquetas...

http://www.clubdelphi.com/foros/showthread.php?t=9993

Por cierto, si has leído la Guía de estilo, tal como comentas:

Cita:
Empezado por kye_z
mmm la guia de estilos ya la he leido
habrás leído esta parte:

Cita:
Empezado por Guía de estilo
Si en alguna ocasión quieres expresar que tu mensaje es muy urgente por cualquier motivo, no lo hagas poniendo títulos del tipo: "URGENTEEEE", "NECESITO AYUDA", "MUY URGENTE!!!!". Tienes que comprender que la gente que accede al foro se basa en los títulos para saber en qué te puede ayudar, y aunque en un principio pueden entrar a ayudarte, si la cosa es constante, acaban cansándose, y provocar el efecto contrario al que pretendías. Además, si queremos mantener un foro útil como fuente de información, debemos tener en cuenta que las búsquedas se realizan por el título; y esta clase de mensajes no nos ayudan.
entendarás que te pidamos que no vuelvas a utilizar títulos como el de tu primer mensaje en este hilo:

Cita:
Empezado por kye_z
Problema!!! ayudarme please!! novatillo.. jaajja
Saludos.

Última edición por kinobi fecha: 21-10-2004 a las 17:42:24.
Responder Con Cita
  #11  
Antiguo 22-10-2004
Avatar de kye_z
kye_z kye_z is offline
Miembro
 
Registrado: oct 2004
Ubicación: Barcelona
Posts: 43
Poder: 0
kye_z Va por buen camino
Buenas!!

al final lo ice asi!! despues de varias modificaciones...

Código:
begin
  if Trim(nomClub.Text) <> '' then
	begin
	  sqlCrearClub.Sql.Clear;
	  sqlCrearClub.Sql.Add(' INSERT INTO Club (nom_club');
	  values:= ') VALUES ("'+ nomClub.Text;
	  if Trim(direccioClub.Text) <> '' then
		begin
		  sqlCrearClub.Sql.add(',adreca_club');
		  values:= values+ '","' + direccioClub.Text;
		end;
		
	  if Trim(mailClub.Text) <> '' then
		begin
		  sqlCrearClub.Sql.add(',mail_club');
		  values:= values+ '","' + mailClub.Text;
		end;
	  sqlCrearClub.SQL.Add(values + '")') ;

	  // aqui es conecta a la bdd i executa la SQL
	  sqlCrearClub.ExecSQL;
	  close;
	end
  else
	  ShowMessage('Es obligatori omplir el cam Nom del club!!');
	  EXIT;
  end;
de esta manera creo que queda algo mas claro.

enga muchas gracias por la ayuda!!

i la proxima vez ya intentare no poner ese topik... (las lei algo despues de colgar mi primer post!)
__________________
------------------------
o0 CarloS 0o
Joven Padawan
algun dia sere un maestro...
------------------------
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 07:45:17.


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