Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2011
learning_delphi learning_delphi is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 20
Poder: 0
learning_delphi Va por buen camino
Modificar & borrar desde delphi

Buen dia a todos, tengo una aplicacion hecha con delpi conectada con firebird,
por medio de una tabla creada en IBexpert.

Tengo un grid en el cual m muestra los campos en 2 DBedit,
el problema es q no se como ingresar el codigo y en donde para poder modificar los datos q registro en mi base de datos . Este es el codigo q uso, pero no m funciona. AYUDA PLS! gracias ^^ .salu2.
Código Delphi [-]
 
begin
  form1.q1.Close;
  form1.q1.SQL.text:='UPDATE ZONAS SET NOMZONA=:p1 where ZONA=:p2)';
  form1.q1.ParamByName('p1').asString:=form3.DBedit2;
  form1.q1.ParamByName('p2').aSSmallInt:=form3.DBedit1;
  form1.q1.execsql;
  showmessage('¡modificacion realizada!');
  form1.DB1.Connected:=false;
  form1.T1.Active:=true;
end;
end.

Última edición por ecfisa fecha: 28-09-2011 a las 06:13:34. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #2  
Antiguo 28-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola learning_delphi y bienvenido a los foros de Club Delphi.

Como es costumbre con los recién llegados, te invito a que leas la Guía de estilo (si no lo has echo ya ).
Encerré tu código Delphi entre las etiquetas [delphi] [/delphi], notarás que le dá mucha más legibilidad. El uso de las mismas lo encontrás aquí.

En cuanto a tu problema, creo que está en las líneas donde asignas el contenido a los parámetros:
Código Delphi [-]
  form1.q1.ParamByName('p1').asString:=form3.DBedit2;
  form1.q1.ParamByName('p2').aSSmallInt:=form3.DBedit1;
Ya que parece que tu intención es enviár el contenido de los DBEdit's como valores de los parámetros, deberías especificar la propiedad Text de los mismos, es decir algo así:
Código Delphi [-]
  with Form1.q1 do
  begin
    Close;
    SQL.Text:= 'UPDATE ZONAS SET NOMZONA = :P1 WHERE ZONA = :P2';
    ParamByName('P1').AsString:= Form3.DBEdit2.Text;
    ParamByName('P2').AsString:= Form3.DBEdit1.Text;
    ExcecSQL;
    ...
  end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-09-2011 a las 06:34:21.
Responder Con Cita
  #3  
Antiguo 28-09-2011
learning_delphi learning_delphi is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 20
Poder: 0
learning_delphi Va por buen camino
Intente hacerlo de esa manera poniendo en las lineas :
Código Delphi [-]
 
  form1.q1.ParamByName('p1').asSmallInt:=form3.DBedit1.text;
  form1.q1.ParamByName('p2').asString:=form3.DBedit2.text;
....
Funciona en la linea con tipo de dato String ,
pero me envia el siguiente error en la sigueinte linea:
form1.q1.ParamByName('p1').asSmallInt:=form3.DBedit1.text;

[Error] Unit3.pas(45): Incompatible types: 'Integer' and 'TMaskedText'

'se por que es el error , pero no se como solucionarlo :s, de q manera puedo ingresar datos DBedit.text a mis parametros .Integer . muchas gracias por su amable respuesta ^^ Saludos.

Última edición por ecfisa fecha: 28-09-2011 a las 21:10:37. Razón: Etiquetas [DELPHI] [DELPHI]
Responder Con Cita
  #4  
Antiguo 28-09-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Usa StrToInt, como el hay otros, como StrToFloat, StrToDate
Código Delphi [-]
form1.q1.ParamByName('p2').aSSmallInt:=StrToInt(form3.DBedit1.text);
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #5  
Antiguo 28-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola learning_delphi.

Como bién te dice RONPABLO, debes respetar el tipo de dato del campo involucrado para asignarle el valor al parámetro.
Es decir si le indicás un tipo (en este caso AsSmallInt) y le enviás otro (como Text de tipo TMaskedText), primeramente tenes que convertirlo con alguna de las funciones que te indica Pablo.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-09-2011 a las 21:24:33.
Responder Con Cita
  #6  
Antiguo 28-09-2011
learning_delphi learning_delphi is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 20
Poder: 0
learning_delphi Va por buen camino
Muchas gracias por el consejo de ambos, lo he puesto en practica pero .. me sigue arrojando error; el programa corre pero a la hora de efectuar modificaciones a los registros existentes m pone este mensaje:

proyect1.exe raised exception class EIBInterbaseError with message' Dynamic SQL Error
SQL error code=-104
Token unknown -line1,column 40
)'.Process stopped. Use Step or Run to continue

todo funciona bien, me guarda datos, me los borra, pero a la hora de modificar ocurre esto... :s gracias , spero puedan ayudarme agradesco infinitamente .
Responder Con Cita
  #7  
Antiguo 28-09-2011
learning_delphi learning_delphi is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 20
Poder: 0
learning_delphi Va por buen camino
Cita:
Empezado por learning_delphi Ver Mensaje
Muchas gracias por el consejo de ambos, lo he puesto en practica pero .. me sigue arrojando error; el programa corre pero a la hora de efectuar modificaciones a los registros existentes m pone este mensaje:

proyect1.exe raised exception class EIBInterbaseError with message' Dynamic SQL Error
SQL error code=-104
Token unknown -line1,column 40
)'.Process stopped. Use Step or Run to continue

todo funciona bien, me guarda datos, me los borra, pero a la hora de modificar ocurre esto... :s gracias , spero puedan ayudarme agradesco infinitamente .

Eternas disuculpaaas!! ya encontre el error! agradesco mucho por su ayuda y comprension ^^ , tenia un error con un parentesis que no iba ahi jeje.
muy amables. 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
Modificar Word (.DOC) desde Delphi Siem Servers 5 15-12-2014 15:25:37
Problemas al borrar un archivo desde Delphi pablopessoa Varios 5 07-01-2009 01:25:46
Grabar y Borrar CDS con IMAPI desde delphi yordan API de Windows 0 18-02-2008 17:11:01
Modificar opciones impresora desde delphi walace_soy Impresión 0 18-09-2007 12:18:17
Modificar texto de un pdf desde delphi Masu Varios 1 04-06-2005 16:16:40


La franja horaria es GMT +2. Ahora son las 13:44:45.


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