![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
![]() 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 |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
||||
|
||||
|
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 |
|
#4
|
|||
|
|||
|
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 |
|
#5
|
||||
|
||||
|
Cita:
Por ejemplo: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. |
|
#6
|
|||
|
|||
|
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
![]() |
|
#7
|
|||
|
|||
|
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; |
|
#8
|
|||
|
|||
|
hey rsgtuamigo, descuida ya ejecute con exito la sentencia de SQL pero con un ADOQuery y utilizando parametros para definir el tipo de dato que deseo capturar, me revolvi un monton y estaba bien sencillo, investigando y sobre tu aclaracion me aclaro que puedo usar las propiedades normalmente (cosa que omiti en esta ocasion :S), de todos modos gracias, ya resolvi el problema, y me esta agradando delphi xD apenas un mes con este lenguaje de programacion pero me falta aun muchisimo, gracias de nuevo, despues investigo como hacer esa conversion por si despues la ocupo, por ahora ya no
![]() |
|
#9
|
||||
|
||||
|
Bueno.. existen muchas formas de hacer lo que pretendes pero primero creo que debes explicarnos por que tratas de hacer una busqueda en tu BD con un entero (integer) si segun entiendo el campo "nombre" de tu tabla es de tipo Varchar()
, bueno amenos eso entiendo![]() De todas formas te voy a dar un ejemplo completo de como puedes solucionar tu problema(si estas hablando de una misma tabla) y lo que necesitas es ver solo algunos datos(registros) específico: Supongamos que tenemos un tabla de nombre "Usuario" (siguiendo tu ejemplo tuyo )en la BD con los siguientes campos: Cita:
Lo que vamos hacer es utilizar un componente ADOTable (Puede ser tambien un ADODataset o ADOQuery), enganchamos al ADOTable a nuestro componente TADOConnection que logicamente tiene todas sus propiedades bien configuradas, ponemos el nombre de la tabla de la BD a nuestro ADOTable, ésto se hace en la propiedad "TableName" del mismo,es decir nuestra tabla "Usuario";para visaulizar los registros podemos utilizar un componente DBGrid que esté ligado aun componente DataSource que a su ves está enganchado anuestro ADOTable, en sintesis la cadena de enganches sería así: Cita:
y el asunto se solucionaría ¿verdad? pero en nuestro caso estamos usando un componente ADOTable el cual no posee una propiedad SQL o ComandText como los otros DataSet, sin embargo existe una mejor forma de resolverlo ya sea que se use un AdoTable o AdoQuery o cualquier otro dataSet, sin estar cambiando la consulta SQL a cada rato y es lo que mencioné en el anterior post los llamados filtros. Todos los DataSet(Componentes que son descendientes de la clase TDataSet) tienen dos propiedades específicas para establecer filtros, una es "Filter" que de tipo String donde podemos colocar diferentes formas de filtrar los registros, ya sean de alguna columna o algun registro específico; la otra propiedad es "Filtered" que es la encargada de activar o desactivar el filtro de la propiedad "Filter", pero vamos con un ejemplo:Quiero mostrar solo el usuario con ID = 6 en mi ADOTable entonces vamos a plicar un filtro para que solo se muestre en nuestro DBGrid el usuario cuyo ID sea 6: Colocamos lo siguiente en el evento OnClick de un componente TButon Al hacer eso, sólo voy a visualizar en mi DBGrid aquellos usuarios que tengan ID = 6, pero vamos con otro ejemplo con otra columna o campo > Etc. Como podemos ver los filtros nos pueden servir tanto para buscar algun registro específico o tambien para visualizar en pantalla algun registro en cuestion.Para más informacion podemos buscar en la ayuda de Delphi( presionar la tecla F1 para abrir la ayuda). Espero sea de utilidad... ![]() Saludos... ![]()
__________________
"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 22:01:35. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|