Inserción de datos

Hola buen día.

He estado haciendo distintos formularios de captura con un botón para guardar y en algunos me sale el error data tipe mismatch, ejemplo:

public n_integer,n_double,c_char &&(o cualquier tipo de dato según mi tabla )

n_integer=thisform.txt1.value

n_double=thisform.txt2.value

c_char=alltrim(thisform.txt3.value)

use mi tabla

insert into mi tabla (1,2,3(o cualquier campo según mi tabla));

values (n_integer,n_double,c_char),

Pudieras explicarme como insertar cada uno de los tipos de datos en mi tabla por favor, he visto en la ayuda el comando sql pero solo viene insertando directamente, ¿como lo haría desde un formulario si al querer que se tome un valor desde un control me sale el error antes mencionado?

espero darme a entender

de antemano gracias...

1 respuesta

Respuesta

Espero poder ayudarte! A ver... insertar datos en una tabla es un tema bastante amplio... y es porque hay muchas formas de hacerlo! Puedes guardar los datos directamente a tu tabla o usar un cursor, cargarlo y después "volcarlo en tu tabla"! O usar un APPEND FROM y luego actualizar la tabla! Pero bueno! Nos quedaremos con una forma sencilla... INSERT INTO!

¿Por qué utilizas variables publicas? ¿Oo? Yo te aconsejo evitar lo mas que se pueda el uso de estas variables... ya que pueden ocasionar fallas en el manejo de los datos que almacenan! Recuerda que el alcance de estas variables es global y las puedes llamar desde cualquier parte de tu aplicación! Si no llevas un listado muy detallado de los nombres de tus variables publicas y el tipo de datos que almacenas en ellas puedes confundirte y confundir los datos! EN este caso... podes usar mejor variables LOCALES! Solo se limitan al programa que ejecutas en ese momento y su valor no puede ser leído desde otro lugar!

LOCAL n_integer,n_double,c_char

n_integer=thisform.txt1.value
n_double=thisform.txt2.value
c_char=alltrim(thisform.txt3.value)

AHora... cuando creas la tabla... vos asignas el tipo de dato que almacenara! Y luego al insertar (guardar) debes respetar estrictamente el tipo de datos que asignastes! Por ejemplo.. si creas un campo tipo DATE para guardar registros en formato de fecha, UNICAMENTE PODRÁS GUARDAR FECHAS EN ESE CAMPO! Si usas uno tipo numérico... SOLO ADMITIRÁ REGISTROS DE NÚMEROS! Al hacer el INSERT, debes hacer referencia correcta al campo y al tipo de datos que el asignastes al crear la tabla! Y ese tipo de datos es el que debes guardar en dicho campo! La forma correcta es así

LOCAL n_integer,n_double,c_char
n_integer= val(thisform.txt1.value)
n_double= thisform.txt2.value
c_char= ALLTRIM(thisform.txt3.value)

SELECT tabla1

INSERT INTO(campo1, campo2, campo3) VALUES(n_integer, n_double, c_char)

**--Donde"

**--campo1 es tipo INTEGER

**--campo2 es tipo double

**--campo3 es tipo carácter!

Ves! :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas