Cita:
Empezado por rgstuamigo
En otras palabras lo que debes usar es un componente TADOQuery. .
|
Que tal, segui tu consejo y siguio con lo mismo, me sigue marcando el error de que no encuentra el parametro, aqui te dejo el codigo...
Código:
AnsiString parametro,parametro2,parametro3;
double ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
ID1 = DBEdit3->Text.ToDouble(); //LOCALIDAD
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();
ADOQuery1->SQL->Text=
"UPDATE"
" DiabetesMellitus_AnualMunicipios"
" SET"
" ID_Control = :ID1" //tambien se puede pero lo veo mas confuso y/o desordenado
" 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"
" Localidad = :parametro3"
"' SELECT * FROM DiabetesMellitus_AnualMunicipios"
;
ADOQuery1->Parameters->ParamByName("ID1")->Value=ID1;
ADOQuery1->Parameters->ParamByName("P1")->Value=P1;
ADOQuery1->Parameters->ParamByName("ID2")->Value=ID2;
ADOQuery1->Parameters->ParamByName("P2")->Value=P2;
ADOQuery1->Parameters->ParamByName("ID3")->Value=ID3;
ADOQuery1->Parameters->ParamByName("P3")->Value=P3;
ADOQuery1->Parameters->ParamByName("ID4")->Value=ID4;
ADOQuery1->Parameters->ParamByName("IDG")->Value=IDG;
ADOQuery1->Parameters->ParamByName("parametro")->Value=parametro;
ADOQuery1->Parameters->ParamByName("parametro3")->Value=parametro3;
Por alguna razon, la aplicacion le manda los datos a la base como varchar, y como el campo esta en float, me marca el error.
ahorita le cambie el tipo de dato a varchar en la tabla y asi si me actualizo...:S.
No hay alguna manera de decirle que me cambie el tipo de dato a float antes de hacer el update, y asi asegurarme de mandar los datos como float?
Saludos