Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
haber haber, creo que no me explique, ok

1- tengo un DataSet que en su propiedad commandText, solo uso la tabla Usuarios y la sentencia queda asi: Select * from Usuario.

2- Tengo un AdoTable que esta conectado a este DataSet y por el cual hago las inserciones.

3-Tengo un AdoQuery con el que consulto la tabla de usuarios para loguearme, ok hasta aqu itodo bien puedo hacer las altas que deseo y todo, pero ahora lo que necesito es

* Hacer una consulta a la Base de Datos de Usuario, en donde por medio del ID que se ingrese por una TEdit me despliegue el resultado en un DBGrid.

lo que no se , es si necesito un nuevo DataSet, (ya que el anterior tiene como te decia, la sentencia 'Select * from Usuario' y tambien si necesito un AdoQuery por donde entrara la sentencia de la consulta que estara ligado a este no se si nuevo DataSet.

y como le puedo hacer para que en un solo DBGrid se muestren las diferentes consultas que haga, por ID de usuario, por Nombre, porEstado, etc etc etc pero todo en un mismo DBGrid. o es mejor hacerlo en diferentes??? (Digo esto por que tengo un DBGrid que esta conectado al primer DataSet y muestra todos los usuarios de la Base de datos, por que com orepito tiene la sentencia 'Select * from Usuario').

gracias
Responder Con Cita
  #2  
Antiguo 01-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por ivantj24 Ver Mensaje
1- tengo un DataSet que en su propiedad commandText, solo uso la tabla Usuarios y la sentencia queda asi: Select * from Usuario.
Pero de que DataSet específico estas hablando??
Quizás estes hablando del Componente ADODataSet...pero mejor explicanos, por que como te dije en el anterior post el término "Dataset" es general y puede referirse a cualquier componente descendiente de la clase TDataSet de Delphi., asi que si estás hablando de un componente ADODataSet pues no deberías decir Dataset, sino mas bien ADODataSet para una mejor comprensión
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 01-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
si disculpa es un ADODataSet el que utilizo y como decia...

1- tengo un ADODataSet que en su propiedad commandText, solo uso la tabla Usuarios y la sentencia queda asi: Select * from Usuario.

2- Tengo un AdoTable que esta conectado a este ADODataSet y por el cual hago las inserciones.

3-Tengo un AdoQuery con el que consulto la tabla de usuarios para loguearme, ok hasta aqu itodo bien puedo hacer las altas que deseo y todo, pero ahora lo que necesito es

* Hacer una consulta a la Base de Datos de Usuario, en donde por medio del ID que se ingrese por una TEdit me despliegue el resultado en un DBGrid.

lo que no se , es si necesito un nuevo ADODataSet, (ya que el anterior tiene como te decia, la sentencia 'Select * from Usuario' y tambien si necesito un AdoQuery por donde entrara la sentencia de la consulta que estara ligado a este no se si nuevo DataSet.

y como le puedo hacer para que en un solo DBGrid se muestren las diferentes consultas que haga, por ID de usuario, por Nombre, porEstado, etc etc etc pero todo en un mismo DBGrid. o es mejor hacerlo en diferentes??? (Digo esto por que tengo un DBGrid que esta conectado al primer ADODataSet y muestra todos los usuarios de la Base de datos, por que como repito tiene la sentencia 'Select * from Usuario').

gracias y sorry por omitir ese prefijo, ADO
Responder Con Cita
  #4  
Antiguo 01-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Bueno hay que ver si tienes algun DataSet(llámese éste ADODataSet,ADOQuery,etc) que no se ésta ocupando en nada pues tranquilamente puedes usarlo y cambiar su propiedad SQL o ComandText para hacer una consulta SQL espefíca en la BD., pero si por el contrario todos estan ocupados(por así decirlo) pues debes Instanciar(create) o utilizar otro., cosa que lo veo que es lo mejor en tu caso, ya que segun veo quieres cambiar dinamicamente la consulta SQL e ir mostrando los resultados en un DBGrid, para lo cual debes crearte un DBGrid Específico donde mostrarías los datos que hagas dinamicamente. al cambiar y ejecutar las consultas SQL, éste DBGrid mostraría los cambios y nuevos datos.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
ok gracias por la ayuda...

pero mi duda aun sigue, COMO le hago para que en un DBGrid se puedan ver varias consultas que quiero hacer por medio de TEdit ingrese, ya sea Nombre, Id, Ciudad, Estado, etc etc ect, el unico ADODataSet que uso por el momento, tiene en su propiedad commandText la sentencia, 'select * from Usuario' el cual al entrar a la ventana ya muestra los usuarios que tengo registrados, ahora quiero que al hacer la consulta, la consulta de un ID, se muestre dentro de Este mismo DBGrid el resultado de la consulta, por eso pregunto

como hacer para que se vean multiples consultas en un mismo DBgrid, recomiendan eso? o es:
--- 1 DBgrid por cada consulta que haga? lo cual no se tambien si conlleva a tener un ADODataSet por cada consulta?

esa desde un principio ah sido mi duda, saludos y como dice 'rgstuamigo', a que se refiere con 'DBGrid Especifico' algun tipo de DBGrid en especial? sorry por tanta pregunta pero soy nuevo, gracias
Responder Con Cita
  #6  
Antiguo 02-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por ivantj24 Ver Mensaje
.. COMO le hago para que en un DBGrid se puedan ver varias consultas que quiero hacer por medio de TEdit ingrese, ya sea Nombre, Id, Ciudad, Estado, etc etc ect, el unico ADODataSet que uso por el momento, tiene en su propiedad commandText la sentencia, 'select * from Usuario' el cual al entrar a la ventana ya muestra los usuarios que tengo registrados, ahora quiero que al hacer la consulta, la consulta de un ID, se muestre dentro de Este mismo DBGrid el resultado de la consulta, por eso pregunto

como hacer para que se vean multiples consultas en un mismo DBgrid, recomiendan eso? o es:
--- 1 DBgrid por cada consulta que haga? lo cual no se tambien si conlleva a tener un ADODataSet por cada consulta?
Bueno... para mostrar varias consulta en un mismo DBGrid.. simplemente debes cambiar la consulta SQL de tu DataSet en cuestion(en tu caso tu dataSet es el ADODataSet segun entiendo). Por ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  ADODataSet1.Close;// Cierro el ADODataSet;  Es lo mismo que -> ADODataSet1.Active:=False
  ADODataSet1.CommandText:='Select Estado from Usuario';//Aqui cambio la consulta SQL por la que 
                              //yo quiera, inclusive puedo trabajar con otra tabla distinta
  ADODataSet1.Open;//Abro nuevamente el ADODataSet; Es lo mismo que -> ADODataSet1.Active:=True
{Lógicamente el DBGrid se actualiza automáticamente cada ves que cambio y ejecuto
 la consulta SQL del ADODataSet}
end;
Espero que me haya explicado bien...
Saludos...
EDITO: Por si acaso si estas trabajando en la misma Tabla y lo que pretendes es Filtrar los registros entonces puedes utilizar las propiedades "Filter" y "Filtered" de tu ADODataSet para asignar un filtro y activarlo respectivamente., para más información consulta la Ayuda de Delphi presionando la tecla "F1".
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 02-03-2011 a las 16:05:01.
Responder Con Cita
  #7  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
ok okok perfecto, deja y ahora mismo trabajo con ello, ya que estaba atorado intentando hacer eso pero no me salia, no tengo ni idea en que me meti en esto de las Base de Datos y es que por el trabajo no tengo tiempo de leer algun libro de Delphi, ahora mismo intento leer 'La cara oculta de delphi 4' pero solo lo hago en el poco tiempo que tengo libre, espero entender bien todos los conceptos para no estar causando molestias xD gracias rsgtuamigo, y cualquier cosa aviso
Responder Con Cita
  #8  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
hola que tal, mira ya ejecute la sentencia y me sale muy bien, gracias por el dato enserio, yo usaba el ADOQuery para ejecutar la sentencia y no se si ahi estaba mi error, creo que es lo mismo pero nunca se me ocurrio utilizar las propiedades de commandtext en codigo, solo la usaba en la propiedad del objeto pero no tenia ni idea, ahora mismo tengo una duda y es que

---no se como capturar las entradas por medio de un Tedit pero en numero y pasarlas a las sentencias SQL, este es mi codigo

consulta:= 'Select * from Usuario where Nombre = ' + QuotedStr(edtBuscar.Text);
DataModulePrincipal.ADODataSetUsuario.CommandText:= consulta;
DataModulePrincipal.ADODataSetUsuario.Open;

esto esta bien pero cuando son Strings lo que paso del edtBuscar que es donde capturo un nombre, apellido, direccion etc, pero solo es string, pero si intento capturar un numero, obvio tengo que hacer la conversion de String a Numero pero no lo genera, in tente con StrToInt(edtBuscar.Text) pero no sale, y busque acerca de que era 'QuotedStr' y entendi el concepto pero no encontre algo para pasar los numeros. no se si sepas algo acerca de esto, ahora mismo estoy buscando opciones pero no he encontrado, gracias por la ayuda.
//De esta forma intente pero no lo acepta StrToInt(edtBuscar.Text);
consulta:= 'Select * from Usuario where Nombre = ' + StrToInt(edtBuscar.Text);
DataModulePrincipal.ADODataSetUsuario.CommandText:= consulta;
DataModulePrincipal.ADODataSetUsuario.Open;
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
SqlServer2005-Jobs y Packages -Integration Services 2005 gemarin SQL 2 19-06-2008 14:31:38
Aplicación que se conecte a cuenta de correo y lea los archivos adjuntos JamesBond_Mx Internet 4 06-12-2005 23:47:43
Ya conecte a Forms, pero Listener marca error .. Lore Castillo Oracle 1 12-10-2005 12:46:09
INIDataSet ¿Existe un data set que se conecte a archivos .ini? Al González Conexión con bases de datos 6 11-05-2004 18:32:50
Ayuda para un componte que conecte a firebird 1.5 ronimaxh Conexión con bases de datos 1 28-11-2003 21:21:43


La franja horaria es GMT +2. Ahora son las 20:56:29.


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