Ir al contenido



Foto

[RESUELTO] Integer en Oracle


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

#1 jaimeh

jaimeh

    Member

  • Miembros
  • PipPip
  • 18 mensajes

Escrito 16 diciembre 2010 - 05:46

Hola a todos

  Estoy leyendo los post de la base de datos Oracle y no consigo que me funcione lo de introducir
un número entero en la base con un clientdataset

en la tabla he probado a definir

PUESTO number
ó
PUESTO number(12,0)



delphi
  1. ClientDataSet1.CommandText := 'Select * from tabla';
  2. ClientDataSet1.Open;
  3. ClientDataSet1.Append;
  4.  
  5. // He usado esto
  6. ClientDataSet1.FieldByName('PUESTO').AsInteger := 2
  7. // o esto
  8. ClientDataSet1.FieldByName('PUESTO').AsFloat := 2
  9.  
  10. ClientDataSet1.Post;
  11. ClientDataSet1.ApplyUpdates(0);



Y con los dos me da 'número no válido'

A ver si tenéis alguna idea, no se que puede ser.

Gracias a todos
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.073 mensajes
  • LocationRepública Dominicana

Escrito 16 diciembre 2010 - 06:39

Saludos.

Acá en el trabajo utilizamos Number(9,0) y nos funciona bien.

Podemos hacer AsFloat o AsInteger sin problema alguno.
  • 0

#3 jaimeh

jaimeh

    Member

  • Miembros
  • PipPip
  • 18 mensajes

Escrito 16 diciembre 2010 - 10:15

Hola a todos
  Gracias por responderme.

Tenía SQLConnection->SQLQuery->DataSetProvider->ClientDataSet

y para solucionarlo al final hice lo que ponía en un post de axesys dentro del foro de oracle.



delphi
  1. procedure TForm1.SQLConnection1AfterConnect(Sender: TObject);
  2. begin
  3.     SQLConnection1.ExecuteDirect(
  4.       'ALTER SESSION SET NLS_NUMERIC_CHARACTERS=''.,''');
  5. end;



Asi ya funciona AsInteger

Gracias a todos

  • 0