Programación General > C++ Builder
Duda con ADOQuery?
softevolutions:
Tienes un error en la SQL que le indicas en el TADODataSet
//MAL
ADODataSet7->CommandText = "select count(*) cuantos from Tabla_Prueba where [Año] = " + parametro1 + " Localidad = '" + parametro2 + "' Evaluacion = " + parametro3;
//BIEN
ADODataSet7->CommandText = "select count(*) cuantos from Tabla_Prueba where [Año] = " + parametro1 + " AND Localidad = '" + parametro2 + "' AND Evaluacion = " + parametro3;
//Te faltaban los AND en la evaluación del WHERE
el bare:
Que tal, me sigue marcando error, ahora es este:
Le hice las correcciones de los AND que me sugeriste..
El campo Evaluacion antes era llamado Trimestre, pense que lo tenia asi (trimestre)en la base de datos, pero esta como evaluacion... :mellow:
Que pueder estar mal??.. :mellow: :mellow:
softevolutions:
Pon el trozo de código completo, pues así no puedo ver la palabra "Trimestre" para ver cual es el error.
el bare:
Que tal,aqui esta el codigo:
--- Código: C++ --- Tabla->Open();Tabla->Insert(); AnsiString parametro1,parametro2,parametro3; parametro1=ComboBox1->Text; //ANIOparametro2=ComboBox2->Text; //LOCALIDADparametro3=ComboBox3->Text; //EVALUACION //LE MODIFIQUE AQUI, ANTES ESTABA ASI//ADODataSet7->CommandText = "select count(*) cuantos from Tabla_Prueba where [Año] = " + parametro1 + " AND Localidad = '" + parametro2 + "' AND //Evaluacion = " + parametro3; ADODataSet7->CommandText = "select count(*) cuantos from Tabla_Prueba where [Año] = '"+parametro1+"' AND Localidad = '"+parametro2+"' AND Evaluacion = '"+parametro3+"' ";ADODataSet7->Active = true; if( ADODataSet7->FieldByName("cuantos")->AsInteger == 0 ) { //--------------------------------------------------Tabla->FieldByName("Casos_sospechosos_colera_est")->AsString = Edit1->Text;Tabla->FieldByName("casos_diarrea_notif_SUIVE")->AsString = Edit2->Text;Tabla->FieldByName("casos_sospechosos_coleratrat")->AsString = Edit7->Text;Tabla->FieldByName("Total_casos_colera")->AsString = Edit8->Text;Tabla->FieldByName("cepas_positivasvibrio")->AsString = Edit18->Text;Tabla->FieldByName("Total_muestrasproc")->AsString = Edit19->Text;Tabla->FieldByName("Deter_cloro")->AsString = Edit26->Text;Tabla->FieldByName("Total_detercloro")->AsString = Edit27->Text; //------------------------------------------------------Tabla->FieldByName("ID_coberturadeteccion")->AsString = Edit3->Text;Tabla->FieldByName("ID_tratoportuno")->AsString = Edit9->Text;Tabla->FieldByName("ID_eficiencialab")->AsString = Edit20->Text;Tabla->FieldByName("ID_cloracionagua")->AsString = Edit28->Text;//------------------------------------------------------Tabla->FieldByName("P_coberturadeteccion")->AsString = Edit14->Text;Tabla->FieldByName("P_tratoportuno")->AsString = Edit15->Text;Tabla->FieldByName("P_eficiencialab")->AsString = Edit21->Text;Tabla->FieldByName("P_cloracionagua")->AsString = Edit29->Text; Tabla->FieldByName("Año")->AsString = ComboBox1->Text;Tabla->FieldByName("Localidad")->AsString = ComboBox2->Text;Tabla->FieldByName("Evaluacion")->AsString = ComboBox3->Text; Tabla->Post();Application->MessageBox ("Datos Grabados en la BD","Aviso", MB_OK); }//FIN IFelse {ShowMessage("REGISTRO EXISTENTE");} //FIN ELSE
Sobre la parte que le modifique, ya no medio el error, pero no funciona, sigue agregando registros aunque ya esten.
Sobre lo de trimestre no se donde puede estar el error, ya que le reemplaze todo lo que tenia trimestre por evaluacion.
softevolutions:
para añadir un nuevo registro, te falta la sentencia
Tabla->Append();
Puego añades los valores y por ultimo
Tabla->Post();
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa