Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   mensage NOt NULL (https://www.clubdelphi.com/foros/showthread.php?t=66216)

bothy 08-02-2010 04:26:45

mensage NOt NULL
 
quisiera saver como puedo cambiar el mensage ke sale cuando no lleno
los edit en un programa en delphi que tengo enlazado con firebird y IBexpert
quisiera cambiar el mensage que me sale en ingles disiendome ke alguna casilla no debe estar sin valor lo quisiera cambiar a español. ..

Neftali [Germán.Estévez] 08-02-2010 10:30:55

¿Puedes colocar el mensajes exacto que sale? ¿Es una excepción? ¿De qué tipo es?
¿Una imagen?

bothy 08-02-2010 20:12:34

Not Null
 
file:///C:/Documents%20and%20Setting...io/Recorte.shs


----field 'NOMBRE' must have a value----

este es el mensage que me sale "nombre " puede bariar depende de que casilla este sin valor....

bothy 08-02-2010 20:20:05

Not Null
 
http://www.metroflog.com/pclr


aqui en ese link aparece la imagen

bothy 09-02-2010 00:44:03

Noce Como Subir una imagen...

Neftali [Germán.Estévez] 09-02-2010 10:19:14

Puedes subirla a algun servidor público tipo ImageShack, y luego utilizas el botón de imagen y colocas el enlace que te devuelve imageShack.

de todas formas, con el error (ahora sí que está exacto) parece que el problema viene porque tu campo NOMBRE necesita tener un valor y no le estás asignando ninguno.

¿Ahora es necesario saber cómo guardas ese valor (Insert/Update)?
¿Utilizas código? Si es así coloca el trozo donde guardas.
¿Lo haces desde componentes viasuales? ¿DataAware?

bothy 09-02-2010 19:16:19

uso componentes dataset datasource y controlnavigator . uso codigo nomas para asignarle los valores ala tabla como select * from usuarios ..el problema es que quiero cambiar ese mensage que me sale en igles que dice que no tiene valor la casilla nombre, lo quiero poner en español..

bothy 09-02-2010 19:24:30

a qui esta la imagen http://yfrog.com/5dsafdsadsadsadasdj

guillotmarc 09-02-2010 19:55:33

Parece que en Delphi, en el campo NOMBRE tienes la propiedad Required a True.

¿ Porqué no haces tú la comprobación, antes de intentar guardar los datos, y muestras tu propio mensaje de error ?.

Tienes que hacer la comprobación en el BeforePost de tu Dataset :

Código:

procedure TForm1.DatosBeforePost(DataSet: TDataSet);
begin
  if Dataset.FieldByName('NOMBRE').AsString = '' then begin
    ShowMessage('Debes rellenar el nombre');
    Abort;    // Cancelo el Post
  end;
end;

Saludos.

bothy 09-02-2010 22:42:32

El codigo es exelente .. pero nomas me sirve cuando la casilla nombre esta sin valor y como tengo 5 casillas clave,nombre,appaterno,apmaterno,domicilio con las demas lla no me funciona y para no estar poniendo el codigo para cada una quisiera saver si se puede aser ese codigo pero para todas las casillas has de cuenta que diga showmessage('falta rellenar los edit ');
ese mensage saldria si una de las 5 casillas estara vacia..

guillotmarc 10-02-2010 10:40:06

Hola.

Entonces prueba a capturar el error con un try ... except, y cambia el mensaje que se muestra :

Código:

try
  MisDatos.Post;    // aquí es donde se dispara el error
except
  ShowMessage('No ha rellenado todos los datos');
end;

Saludos.

Neftali [Germán.Estévez] 10-02-2010 11:59:13

Para hacer las pruebas puedes añadir más información a ese error:

Código Delphi [-]
try
  MisDatos.Post;    // aquí es donde se dispara el error
except 
  on E:Exception do begin
    ShowMessage(Format('No ha rellenado todos los datos.  Clase(%d)   Error: %s',[E.ClassName, E.Message]));
  end;
end;[/code]Saludos.[/quote]

bothy 11-02-2010 09:13:03

si .... gracias por el codigo si me sirvio ya arregle mi problema ..


La franja horaria es GMT +2. Ahora son las 04:55:18.

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