Hola amigos, recurro a este foro porque estoy algo desesperado por no poder realizar una consulta...
estoy trabajando con c builder y sql server como gestor, pero me he topado con problemas usando la sentencia update....


cuando quiero actualizar los datos, me marca este error:
la verdad que no se porque me lo marca, el parametro esta definido, la actualizacion tambien la intente manejando strings
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;
lo habia intentado de otra manera, pero me marcaba este error:
esta es la otra manera en que lo habia intentado:
Código:
String 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();
parametro = ComboBox1->Text; //ANIO
ADOQuery1->Close();
ADOQuery1->SQL->Text = "UPDATE DiabetesMellitus_AnualMunicipios SET ID_Control = '"+String(ID1)+"', P_Control = '"+String(P1)+"',ID_Informacion = '"+String(ID2)+"',P_Informacion = '"+String(P2)+"', ID_Promocion1 = '"+String(ID3)+"', P_Promocion ='"+String(P3)+"', ID_Promocion2 = '"+String(ID4)+"',ID_General = '"+String(IDG)+"' where Año = '"+parametro+"'";// AND Localidad = '"+String(parametro3)+"'";
ADOQuery1->Open();
perdon por tanto codigo, pero ya no se que mas hacer.....




saludos..