Hola amigos, me tope con un problema,veran..
en mi aplicacion, necesito insertar unos datos en una tabla con el update, eso me funcionaba cuando le escribia unos numeros, pero ahora, se tiene que insertar el resultado que se obtenga de una serie de operaciones antes, esas si se hacen bien, el problema es cuando quiero actualizar me da este error:
"error converting data type varchar to float"
los datos de la tabla estan en float..aunque creoo que ya se donde esta mi error..
despues de hacer las operaciones, esto es lo que tengo:
Código:
//--------------------------------------------------------------------
//-------------ACTUALIZAR DATOS---------------------------------
AnsiString parametro,parametro2,parametro3,ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
ADODataSet2->Close();//primero cierro el componente para volver a cargarlo
parametro = ComboBox1->Text; //ANIO
parametro3 = ComboBox3->Text; //LOCALIDAD
ID1 = DBEdit3->Text.ToDouble(); //ANIO
P1 = DBEdit4->Text.ToDouble(); //TRIMESTRE
ID2 = DBEdit7->Text.ToDouble(); //LOCALIDAD
P2 = DBEdit8->Text.ToDouble(); //ANO
ID3 = DBEdit11->Text.ToDouble();//LOCALIDAD
P3 = DBEdit15->Text.ToDouble(); //ANUAL
ID4 = DBEdit14->Text.ToDouble(); //CASOS
IDG = DBEdit16->Text.ToDouble();
ADODataSet2->CommandText = " UPDATE DiabetesMellitus_AnualMunicipios SET ID_Control = '"+ID1+"', P_Control = '"+P1+"',ID_Informacion = '"+ID2+"',P_Informacion = '"+P2+"', ID_Promocion1 = '"+ID3+"', P_Promocion ='"+P3+"', ID_Promocion2 = '"+ID4+"',ID_General = '"+IDG+"' where Año = '"+parametro+"' AND Localidad = '"+parametro3+"'SELECT * FROM DiabetesMellitus_AnualMunicipios";
ADODataSet2->Open();//Aca abres la vista....
Tabla_DiabetesAnual->Close();
Tabla_DiabetesAnual->Open();
ShowMessage("LISTO");
yo pienso que mi error esta en que los datos ID,P,...etc, los tengo como AnsiString, y al querer insertarlos me da el error, porque el resultado de las operaciones es con decimales (29.334498760123).
Quise corregirlo declarandolo como float, pero me marcaba varios errores..
aqui les dejo una imagen del programa:
los resultados con todos los decimales son los que quiero insertar en la tabla..
creo que el error es porque quiero insertar los datos con decimal a una tabla donde esta definido como float..que podre hacer?, cambiar el tipo de dato en la tabla?, o hacer algo en codigo?
de antemano agradezco su atencion..
un saludo..