• Domingo 28 de Abril de 2024, 23:16

Autor Tema:  una manita con una consulta??  (Leído 1267 veces)

el bare

  • Miembro activo
  • **
  • Mensajes: 65
  • Nacionalidad: mx
    • Ver Perfil
una manita con una consulta??
« en: Domingo 7 de Marzo de 2010, 23:08 »
0
Hola, les comento que  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: Text
  1.  
  2.  
  3. AnsiString parametro,parametro2,parametro3;
  4. double ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
  5.  
  6.  
  7.  
  8. ID1 = DBEdit3->Text.ToDouble();    //LOCALIDAD
  9. P1 = DBEdit4->Text.ToDouble();    //TRIMESTRE
  10. ID2 = DBEdit7->Text.ToDouble();    //LOCALIDAD
  11. P2 = DBEdit8->Text.ToDouble(); //ANO
  12. ID3 = DBEdit11->Text.ToDouble();//LOCALIDAD
  13. P3 = DBEdit15->Text.ToDouble(); //ANUAL
  14. ID4 = DBEdit14->Text.ToDouble(); //CASOS
  15. IDG = DBEdit16->Text.ToDouble();
  16.  
  17.  
  18.  
  19. ADOQuery1->SQL->Text=
  20.  
  21. "UPDATE"
  22.     "  DiabetesMellitus_AnualMunicipios"
  23.     " SET"
  24.     "  ID_Control = :ID1" //tambien se puede pero lo veo mas confuso y/o desordenado
  25.     "  P_Control = :P1,"
  26.     "  ID_Informacion = :ID2,"
  27.     "  P_Informacion = :P2,"
  28.     "  ID_Promocion1 = :ID3,"
  29.     "  P_Promocion = :P3,"
  30.     "  ID_Promocion2 = :ID4,"
  31.     "  ID_General = :IDG"
  32.     " WHERE"
  33.     "  Año = :parametro"
  34.     "  Localidad = :parametro3"
  35.     "' SELECT * FROM DiabetesMellitus_AnualMunicipios"
  36. ;
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. ADOQuery1->Parameters->ParamByName("ID1")->Value=ID1;
  44. ADOQuery1->Parameters->ParamByName("P1")->Value=P1;
  45. ADOQuery1->Parameters->ParamByName("ID2")->Value=ID2;
  46. ADOQuery1->Parameters->ParamByName("P2")->Value=P2;
  47. ADOQuery1->Parameters->ParamByName("ID3")->Value=ID3;
  48. ADOQuery1->Parameters->ParamByName("P3")->Value=P3;
  49. ADOQuery1->Parameters->ParamByName("ID4")->Value=ID4;
  50. ADOQuery1->Parameters->ParamByName("IDG")->Value=IDG;
  51. ADOQuery1->Parameters->ParamByName("parametro")->Value=parametro;
  52. ADOQuery1->Parameters->ParamByName("parametro3")->Value=parametro3;
  53.  
  54.  
  55.  
  56.  
  57.  

lo habia intentado de otra manera, pero me marcaba este error:




esta es la otra manera en que lo habia intentado:

Código: Text
  1.  
  2.  
  3.  
  4. String  parametro,parametro2,parametro3;
  5. double ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
  6.  
  7.  
  8.  
  9. ID1 = DBEdit3->Text.ToDouble();    //LOCALIDAD
  10. P1 = DBEdit4->Text.ToDouble();    //TRIMESTRE
  11. ID2 = DBEdit7->Text.ToDouble();    //LOCALIDAD
  12. P2 = DBEdit8->Text.ToDouble(); //ANO
  13. ID3 = DBEdit11->Text.ToDouble();//LOCALIDAD
  14. P3 = DBEdit15->Text.ToDouble(); //ANUAL
  15. ID4 = DBEdit14->Text.ToDouble(); //CASOS
  16. IDG = DBEdit16->Text.ToDouble();
  17.  
  18.  
  19.  
  20.  
  21. parametro = ComboBox1->Text; //ANIO
  22.  
  23.  
  24.         ADOQuery1->Close();
  25.  
  26.  
  27.  
  28.  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)+"'";
  29.  
  30.  ADOQuery1->Open();
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  


perdon por tanto codigo, pero ya no se que mas hacer.....:'(:'(:'(:'(:'(

saludos..

Unsire

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: una manita con una consulta??
« Respuesta #1 en: Domingo 21 de Marzo de 2010, 19:49 »
0
Código: Text
  1.   
  2.  
  3.  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)+"'";
  4.  
  5.  ADOQuery1->Open(); 
  6.  
  7.  
  8.  

Sencillo, quita todos los "+String...", solo pon:
ADOQuery1->SQL->Text = "UPDATE DiabetesMellitus_AnualMunicipios  SET ID_Control = 'ID1', P_Control = 'P1', etc.
ESpero haberte ayudado, cualquier duda mi msn es: eddy_ef@hotmail.com
Saludos.