Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2016
ederfcr ederfcr is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 9
Poder: 0
ederfcr Va por buen camino
Envio codigo adicional para compresion:

Envío código adicional para compresión:



Código Delphi [-]
  rs2 := TADODataSet.Create(nil);
  rs2.Connection := connection2;
  rs2.CursorType := ctStatic;
  rs2.LockType := ltOptimistic;
  rs2.CommandText := 'SELECT COUNT(*) AS CANTREG FROM plancli WHERE CC = ' + ccusu;
  rs2.Open();
Responder Con Cita
  #2  
Antiguo 16-06-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Intenta de este modo:
Código Delphi [-]
function CantCed(Connect: TADOConnection; const Cedula: string): Integer;
var
  ads: TADODataSet;
begin
  ads := TADODataSet.Create(nil);
  try
    ads.Connection  := Connect;
    ads.CommandText := 'SELECT COUNT(*) AS CANTREG FROM PLANCLI WHERE CC = :PARAM';
    ads.Parameters.ParamByName('PARAM').Value := Cedula;
    ads.Open;
    Result := ads.FieldByName('CANTREG').Value;
  finally
    ads.Close;
    ads.Free;
  end;
end;

Ej. de uso:
Código Delphi [-]
var
  r : Integer;
begin
  r := CantidadCed(ADOConnection1, '25374893');
  if r = 0 then
    ShowMessage('No existen registros con esa cédula')
  else
    ShowMessage(Format('Existen %d registros con esa cédula',[r]));

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 16-06-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Si bien por algun lado lei que existe una clase TADODataSet, nunca la he usado

Siempre uso TADOQuery para ejecutar consultas SQL (en general, todos los select) y TADOCommand para el resto

Yo cambiaria el TADODataSet por TADOQuery y como siempre aconsejamos, mejor temprano que tarde, hay que acostumbrarse a usar parametros en las sentencias SQL

Código Delphi [-]
procedure ...
var
  qry: TADOQuery;
  Cantidad: Integer;
begin
  qry := TADOQuery.Create(nil);
  try
     // setear propiedades necesarias, Conection  ConnectionString, etc
     qry.SQL.Text := ' SELECT COUNT(*) AS CANTREG FROM plancli WHERE CC = :ccusu ';
     qry.SQL.Text.Parameters.ParamByName('ccusu').DataType := TFieldType.ftString;
     qry.SQL.Text.Parameters.ParamByName('ccusu').Value := ccusu;
     qry.Open;   
     Cantidad := qry.FieldByName('CANTREG').AsInteger; // accedes al campo y lo guardas en una variable integer 
  finally
     qry.Free;
  end;
end;
Responder Con Cita
  #4  
Antiguo 17-06-2016
ederfcr ederfcr is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 9
Poder: 0
ederfcr Va por buen camino
Problema resuelto!!

Hola buen día.

Resuelto el problema, asi quedo mi función:

Código Delphi [-]
function TDBClass.CantCed(Connect: TADOConnection; var Cedula: string): Integer;
var
  ads: TADODataSet;
begin
  ads := TADODataSet.Create(nil);
  try
    ads.Connection  := Connect;
    ads.CursorType := ctStatic;
    ads.LockType := ltOptimistic;
    ads.CommandText :='SELECT COUNT(*) AS CANTREG FROM plancli WHERE cc=PARAM';
    ads.Parameters.ParamByName('PARAM').Value := Cedula;
    ads.Open;
    CantCed := ads.FieldByName('CANTREG').Value;
  finally
    ads.Close;
    ads.Free;
  end;
end;

Quedo superbien y corriendo. Mil Gracias.


EderFCR
Responder Con Cita
  #5  
Antiguo 18-06-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Hay un error de tipeo aca:

Código Delphi [-]
  ads.CommandText :='SELECT COUNT(*) AS CANTREG FROM plancli WHERE cc=PARAM';

Te faltaron los dos puntos para indicar que es un parametro:

Código Delphi [-]
  ads.CommandText :='SELECT COUNT(*) AS CANTREG FROM plancli WHERE cc= :PARAM';
Responder Con Cita
  #6  
Antiguo 18-06-2016
ederfcr ederfcr is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 9
Poder: 0
ederfcr Va por buen camino
Si, gracias. Tenia una pequeña falla.

EderFCR
Responder Con Cita
Respuesta



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
asignar resultado de consulta a un edit!! ezequiel913 Varios 6 11-06-2011 15:18:47
Asignar resultado de consulta a variable Saiyan SQL 3 10-07-2007 15:44:10
asignar el resultado de un sql a una variable Cañones SQL 2 14-04-2007 15:29:43
Como asignar el resultado de una consulta a una variable Luis Cuenca Conexión con bases de datos 2 11-08-2006 16:27:32
Resultado de Consulta en Variable ¥0n1 SQL 1 30-12-2003 01:07:29


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


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