Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-03-2010
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 20
_cero_ Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 06-03-2010
Bare Bare is offline
Miembro
 
Registrado: feb 2010
Posts: 29
Poder: 0
Bare Va por buen camino
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??,

Responder Con Cita
  #3  
Antiguo 06-03-2010
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 20
_cero_ Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 06-03-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 19
rgstuamigo Va por buen camino
Arrow Sólo para aclarar el asunto

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:
De la ayuda de C++Builder 6 >
...
Use the TADODataSet component's CommandText property to retrieve the dataset, specifying either a table name or an SQL statement (SELECT only ). TADODataSet is not capable of issuing Data Manipulation Language (DML) SQL statements that do not return result sets (like DELETE, INSERT, and UPDATE). For this use a component like TADOCommand or TADOQuery.
En otras palabras lo que debes usar es un componente TADOQuery..
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
Código SQL [-]
...
Select * FROM DiabetesMellutis_AnualMunicipios; 
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
Responder Con Cita
  #5  
Antiguo 07-03-2010
Bare Bare is offline
Miembro
 
Registrado: feb 2010
Posts: 29
Poder: 0
Bare Va por buen camino
Cita:
Empezado por rgstuamigo Ver Mensaje

En otras palabras lo que debes usar es un componente TADOQuery..

Que tal, segui tu consejo y siguio con lo mismo, me sigue marcando el error de que no encuentra el parametro, aqui te dejo el codigo...

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;



Por alguna razon, la aplicacion le manda los datos a la base como varchar, y como el campo esta en float, me marca el error.
ahorita le cambie el tipo de dato a varchar en la tabla y asi si me actualizo...:S.
No hay alguna manera de decirle que me cambie el tipo de dato a float antes de hacer el update, y asi asegurarme de mandar los datos como float?

Saludos

Última edición por Bare fecha: 08-03-2010 a las 03:32:15. Razón: codigo erroneo
Responder Con Cita
  #6  
Antiguo 10-03-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 19
rgstuamigo Va por buen camino
Arrow

Intenta Cambiar esta parte
Cita:
...
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();
...
por esta otra :
Cita:
...
ID1 = StrToFloat(DBEdit3->Text); //LOCALIDAD
P1 = StrToFloat(DBEdit4->Text); //TRIMESTRE
ID2 = StrToFloat(DBEdit7->Text); //LOCALIDAD
P2 = StrToFloat(DBEdit8->Text); //ANO
ID3 = StrToFloat(DBEdit11->Text);//LOCALIDAD
P3 = StrToFloat(DBEdit15->Text); //ANUAL
ID4 = StrToFloat(DBEdit14->Text); //CASOS
IDG = StrToFloat(DBEdit16->Text);
...
Y prueba de nuevo y nos comentas....
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 11-03-2010
Bare Bare is offline
Miembro
 
Registrado: feb 2010
Posts: 29
Poder: 0
Bare Va por buen camino
que tal, se lo cambie y siguio con lo mismo...
pero entre tanto meterme con este codigo no me di cuenta de que no es necesario que inserte los datos como float, ya que no voy a hacer operaciones matematicas con ellos, asi que creo que mi problema se resolvio.......

asi que primero me disculpo por tantas preguntas, y les agradezco su tiempo y paciencia....
aprendi varias cosas, y una de ellas fue el primero analizar bien y recurrir a su ayuda cuando sea realmente necesario...


a todos ustedes, muchas gracias por todo...

nos seguimos leyendo en el foro..

Saludos
Responder Con Cita
  #8  
Antiguo 07-03-2010
Bare Bare is offline
Miembro
 
Registrado: feb 2010
Posts: 29
Poder: 0
Bare Va por buen camino
Cita:
Empezado por _cero_ Ver Mensaje
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.
se los cambie y siguio con lo mismo...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:25:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi