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:
lo habia intentado de otra manera, pero me marcaba este error: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;
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..