![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
implemente lo que me sugeriste,y me marco el mismo error.. ![]() ![]() asi quedo el codigo: Código:
//--------------------------------------------------------------------
//-------------ACTUALIZAR DATOS---------------------------------------
AnsiString parametro,parametro2,parametro3;//,ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
ADODataSet2->Close();//primero cierro el componente para volver a cargarlo
parametro = ComboBox1->Text; //ANIO
parametro3 = ComboBox3->Text; //LOCALIDAD
DecimalSeparator = ',';
double ID1 = String("1,2").ToDouble();
double P1 = String("1,2").ToDouble();
double ID2 = String("1,2").ToDouble();
double P2 = String("1,2").ToDouble();
double ID3 = String("1,2").ToDouble();
double P3 = String("1,2").ToDouble();
double ID4 = String("1,2").ToDouble();
double IDG = String("1,2").ToDouble();
ID1 = DBEdit3->Text.ToDouble(); //ANIO
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();
ADODataSet2->CommandText = " 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 = '"+parametro3+"'SELECT * FROM DiabetesMellitus_AnualMunicipios";
ADODataSet2->Open();//Aca abres la vista....
// ADODataSet5->Refresh();
Tabla_DiabetesAnual->Close();
Tabla_DiabetesAnual->Open();
,y tuve que ponerle lo del string porque si no me marcaba el error del uso ilegal del float... pero sigo sin poder insertar los datos a la tabla....![]() ![]() hay algun error en el codigo?..o algo?.. Saludos.. |
|
#2
|
|||
|
|||
|
La razón del porque no te funciono, es que el parámetro que pusiste, no se llamaba “ID_Con”, si no ”ID1” ya que el nombre del parámetro es el que va después de “:” teniendo en cuenta tu código quedaría más o menos así:
Código:
String parametro,parametro2,parametro3;
double ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
ADODataSet2->Close();
parametro = ComboBox1->Text;
parametro3 = ComboBox3->Text;
double numm=0;
TryStrToFloat(DBEdit3->Text, numm); //sugiero aser esto para evitar errores cuando el edit este vacio por ejemplo
D1 = numm;
//aunque esta forma rtambien es valida
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();
ADODataSet2->CommandText =
"UPDATE"
" DiabetesMellitus_AnualMunicipios"
" SET"
" ID_Control = "+String(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 AND"
" Localidad = :parametro3"
"'SELECT * FROM DiabetesMellitus_AnualMunicipios"
;
ADODataSet2->Parameters->ParamByName("P1")->Value=P1;
ADODataSet2->Parameters->ParamByName("ID2")->Value=ID2;
ADODataSet2->Parameters->ParamByName("P2")->Value=P2;
ADODataSet2->Parameters->ParamByName("P3")->Value=P3;
ADODataSet2->Parameters->ParamByName("ID4")->Value=ID4;
ADODataSet2->Parameters->ParamByName("IDG")->Value=IDG;
ADODataSet2->Parameters->ParamByName("parametro")->Value=parametro;
ADODataSet2->Parameters->ParamByName("parametro3")->Value=parametro3;
ADODataSet2->Open();
Tabla_DiabetesAnual->Close();
Tabla_DiabetesAnual->Open();
ShowMessage("LISTO");
|
|
#3
|
|||
|
|||
|
que tal cero, le puse el codigo y no dio errores, pero al ejecutarlo me decia que no encontraba el parametro 3:
aqui te dejo el codigo, para ver si le encuentras algun anomalidad.. Código:
String parametro,parametro2,parametro3;
double ID1,P1,ID2,P2,ID3,P3,ID4,IDG;
ADODataSet2->Close();
parametro = ComboBox1->Text;
parametro3 = ComboBox3->Text;
double numm=0;
TryStrToFloat(DBEdit3->Text, numm); //sugiero aser esto para evitar errores cuando el edit este vacio por ejemplo D1 = numm;
//aunque esta forma rtambien es valida
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();
ADODataSet2->CommandText =
"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 AND"
" Localidad = :parametro3"
"'SELECT * FROM DiabetesMellitus_AnualMunicipios"
;
ADODataSet2->Parameters->ParamByName("ID1")->Value=ID1;
ADODataSet2->Parameters->ParamByName("P1")->Value=P1;
ADODataSet2->Parameters->ParamByName("ID2")->Value=ID2;
ADODataSet2->Parameters->ParamByName("P2")->Value=P2;
ADODataSet2->Parameters->ParamByName("ID3")->Value=ID3;
ADODataSet2->Parameters->ParamByName("P3")->Value=P3;
ADODataSet2->Parameters->ParamByName("ID4")->Value=ID4;
ADODataSet2->Parameters->ParamByName("IDG")->Value=IDG;
ADODataSet2->Parameters->ParamByName("parametro")->Value=parametro;
ADODataSet2->Parameters->ParamByName("parametro3")->Value=parametro3;
ADODataSet2->Open();
Tabla_DiabetesAnual->Close();
Tabla_DiabetesAnual->Open();
ShowMessage("LISTO");
|
|
#4
|
|||
|
|||
|
Es porque por error no puse el espacio entre el parametro3 y la consulta que sigue
, solo agrega un espacio ahi:Código:
...
" Localidad = :parametro3"
" 'SELECT * FROM DiabetesMellitus_AnualMunicipios" //aqui es donde me falto el espacio
;
Última edición por _cero_ fecha: 05-03-2010 a las 07:37:48. Razón: Sobraba código. |
|
#5
|
|||
|
|||
|
ya se lo puse y ahora me salio este error...
![]() ![]() ![]() ![]() segun lo que entendi del error, los decimales que da son demasiados, pero no lo entiendo, en otra aplicacion que tengo, le ingrese un valor con mas decimales que los que hay aqui y no me dio error... ![]() quiza por que en aquella aplicacion le meto los datos desde edits simples, y en esta lo hago con DBEdits??... ![]() , o que sera??, ![]() ![]() |
|
#6
|
|||
|
|||
|
Pues está confuso, intenta cambiar los tipos de las variables “parametro, parametro2, parametro3” a double o al tipo de dato del campo en la tabla, porque según entiendo está dando un error de tipos no de longitudes.
|
|
#7
|
||||
|
||||
|
Yo trabajo con la versión 6 de C++Builder y segun la ayuda ,el componente TADODataSet sólo sirve para selecionar datos(Select) y no para Actualizar(Update) o para Borrar(Delete)
Textualmente la ayuda dice así: Cita:
.Ahh.. y otra cosa ..segun observo en lo personal tu Consulta SQL no la entiendo , ya que al final de la consulta estas agregando un lo cual no me cuadra con qué propósito haces eso ; aparte que en ningun momento veo que estes concatenando (para concatenar String se usa el simbolo "+") los pedazos(por así decirlo) de la consulta SQL. .Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#8
|
|||
|
|||
|
Cita:
![]() ![]() ![]() |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Sugerencias a CodeGear / Embarcadero | AngelV | Noticias | 73 | 05-08-2014 19:40:41 |
| necesito sugerencias | felixgo | Firebird e Interbase | 7 | 13-03-2007 15:06:40 |
| Sugerencias con las INDY | diegofhernando | Internet | 2 | 09-01-2006 21:06:15 |
| Necesito sugerencias | BetoAlonso | Internet | 5 | 18-10-2005 22:52:53 |
|