Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 15-10-2005
Esau Esau is offline
Miembro
 
Registrado: may 2003
Ubicación: Canto Rey
Posts: 140
Poder: 24
Esau Va por buen camino
Solucion

Bueno amigo Caro temo decirte que la solucion que me ofreces no funciona, al parecer hay un error en el mismo control...
lo explicare mejor:
tengo una Tabla en un servidor SQL Server 2000 que corre sobre Windows 2003 Server, Tengo campos en mi tabla les dare solo los importantes...
Codigo Varchar(10), ApPaterno Varchar(20) ApMaterno VarChar(20) Nombres varchar(20), el campo clave en mi tabla es Codigo. En el campo codigo existen datos de 8 caracteres y de 10 caracteres, suponiendo que tengo los datos
Codigo : '00980432' -> este dato tienen 8 carateres
Codigo : '1013257613' -> este dato tiene 10 caracteres

cuando hago una busqueda con DBExpres y el valor '00980432' dentro del parametro, no arroja ningun registro, pero cuando paso el dato '1013257613' si arroja registro, ahora hice la prueba de pasar este dato '00980432 ' "dese cuenta que al final se tiene dos espacios en blanco", cuando ejecuto , si me arroja el registro que busco... algo parecido sucede con el Like o quizas peor, ahora la solucion que he propuesto es esto...
Código Delphi [-]
procedure TForm_Buscar.BuscarClick(Sender: TObject);
begin
  ClientDataSet1.Close;
  SQLQuery.Close;
  SQLQuery.SQL.Clear;
  if DBCodigo.Text <> '' then
    Begin
      SQLQuery.SQL.Add('Select Codigo from Personal where Codigo = '+Char(39)+DBCodigo.Text+Char(39));
      Query.Open;
      if ClientDataSet1.RecordCount = 0 then
             ShowMessage('El Codigo '+DBCodigo.Text+' no se encuentra en la Base de datos, por favor Verificar...');
    End;
End;
Con el LIKE sucede algo parecido, lo que hago es cerrar el conjunto de datos cliente luego armar la consulta en el SQLQuery no pasar parametros y luego Abrir el Conjunto de Datos Cliente, de esta forma consigo registros...
para el Like Hice esto.
Código Delphi [-]
  if Length(DbNombre.Text) <> 0 then
    Begin
             ClientDataSet1.Close;
      SQLQuery.SQL.Add('Select Codigo, Nombres from Personal where Nombres like '+Char(39)+'%'+DBNombre.Text+'%'+Char(39)+' ');
      ClientDataSet1.Open;
    End;

Hata Ahora todo funciona bien con esta solucion ya he implementado algunas DLL y Modulos Con DBExpres... si alguien tiene alguna otra sugerencia me gustaria saberla...
Gracias por Todo

Última edición por Esau fecha: 15-10-2005 a las 18:55:14.
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 00:28:06.


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