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 26-02-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
Como hacer una BD que se conecte a SqlServer2005

Holas pues bien tengo un problema con una BD ya que quiero utilizar todos las tablas pero no tengo ni idea de como empezar o que componentes elegir para hacer buen eso de ellos.

mire un video en donde utilizan un AdoConnection, DataSource y un DataSet todo esto esta bien en el manejo de datos, puedo verlos en un DBgrid etc, y puedo haces inserciones, pero el problema es que en el DataSet en cu propiedad CommandText solo agrego una Tabla de toda mi BD y no se si hay que poner Todas y como vendria siendo el resultado final.

Mi aplicacion la uso con ventanas MDIChild asi que cada tabla quisiera usarla en una MDIchild diferrente en donde pueda hacer altas, bajas y modificaciones pero como repito una Tabla de mi BD por cada MDIChild, no se si es un DataSet por Tabla y en que parte hiria ese DataSet.

la unica tabla que manejo y hago inserciones es la de Usuarios, y mi conexion y todos los componentes ADO esta en la form Principal, la MDIPAdre y en otra MDIChild hago uso de esta para manejar la tabla de usuarios como les decia, pero no se como usar mis demas tablas, si es un DataSet diferente en la misma MDIPadre o si es un DataSet en una MDIChild o como hacerle para hacer el manejo de todas mis tablas, les agradeceria la ayuda, me urge para implementarlo este fin de semana
Responder Con Cita
  #2  
Antiguo 28-02-2011
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
La propiedad commandText depende de commandType, puedes poner el nombre de una tabla, una consulta o un procedimiento almacenado, si quieres usar otras tablas o objetos como los ya mencionados necesitas más adodatasets, puedes poner tanto como quieras en un formulario, aunque te recomendaría usar datamodules para este tipo de componentes
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 28-02-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
ah ok buen punto, entonces si yo elijo en la opcion de commandType cmdTables, me dara solo la opcion de Tables, y dependiendo lo quiera hacer entonces lo que se debe elegir supongo ya que como me dijiste si quiero hacer alguna consulta, dentro de CommandString deberia de poner una consulta, espero sea asi po rel momento ya mire lo que me quieres decir, ahora tendre que investigar como usar un DataModule ya que he mirado en este foro que se menciona mucho, gracias por aclararme la duda en lo de DataSet y ahora mismo me pondre a investigar como usar el DataModule y si me conviene ya que son varias tablas las que manejare, minimo 10, gracias droguerman
Responder Con Cita
  #4  
Antiguo 28-02-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 basicamente en palabras sencillas, un Datamódule(modulo de datos) es un "formulario contenedor" donde puedes poner tus componentes que van a conectarse con la Base de dato,ojo.. un datamodule solo puede contener componentes que no son visibles en tiempos de ejecucion, como ejemplo un ADOTable,ADOQuery,Query,Table,ClientDataSet,etc,etc...
Al crear un datamodule es como crear una nueva unidad pero que tenga la posibildad de contener componentes para algun uso en cuestion.., en tu caso sería componentes de acceso a tu BD.
En otras palabras el uso de un DataMódule es basicamente para tener una mejor organizacion de los componentes en nuestra aplicacion...
Para crear un dataModule en delphi te vas al menú File>New>Data Module y se creará una nueva unidad que tiene un formulario especial donde debes poner tus componentes de acceso a tu BD.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 28-02-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
Perfecto Perfecto, eh estado leyendo aqui sobre ese mismo Modulo, y me parece que la idea ya esta muy clara con respeto a lo que es, ahora mi pregunta es que antes yo usaba (tengo un mes apenas usando delphi xD) todo en los formularios que lo requirieran, que no eran muchos apenas llevaba uno de puras altas, la unica duda que tengo por el momento es que yo usaba el DataSet que se conectaba a la Tabla que requeria, pero he leido mucho ahora que usan el AdoTable para hacer la conexion a esas mismas Tablas cuando usan DataModule.

Me pregunto (Yo no usaba antes ADOTable, usaba solo un DataSet para usar mi tabla de usuarios y dar inserciones), tengo que usar un ADOTable por cada tabla, pero entonces ya no usare el DataSet????

si, si uso el DataSet, tengo que usar un DataSet por cada ADOTable que uso por cada tabla???

o solo usando el DataSet ya no usare el ADOTable permitiendome con esto tener un DataSet pro tabla y su manejo normal hasta como lo venia haciendo?

agradesco de antemano la ayuda.
Responder Con Cita
  #6  
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

Primero que nada debes entender lo que es un DataSet en español seriá como un "Conjunto de datos" es decir es un objeto que se encarga de la gestion de datos desde y hacia la base de datos, por tanto es el dataSet el que contiene los registros en un Buffer de memoria cuando por ejemplo hacemos una consulta SQL hacia la base de datos, pero si revisamos la clase TDataSet en delphi nos vamos a dar cuenta que es como una "clase Abstracta", por tanto su uso directamente no tiene sentido ya que la mayoría de sus métodos son virtuales.Es así que para usarlo hay que crear (instanciar) uno de sus descendientes,es decir algun componente descendiente de la "clase TDataSet" entre los cuales te puedo nombrar por ejemplo: TADOTable,TADOQuery,TQuery,TTable,TZTable,TZQuery,TIBTable,TIBQuery,etc,etc...., entonces eso significa que tus preguntas >
Cita:
Empezado por ivantj24 Ver Mensaje
Me pregunto (Yo no usaba antes ADOTable, usaba solo un DataSet para usar mi tabla de usuarios y dar inserciones), tengo que usar un ADOTable por cada tabla, pero entonces ya no usare el DataSet????

si, si uso el DataSet, tengo que usar un DataSet por cada ADOTable que uso por cada tabla???

o solo usando el DataSet ya no usare el ADOTable permitiendome con esto tener un DataSet pro tabla y su manejo normal hasta como lo venia haciendo?
no tiene sentido por que un ADOTable es un DataSet..., claro el término DataSet es un poco más general, pero un ADOTable es un DataSet ya que es descendiente de la clase TDataSet...
Talves te has confundido y lo que estés preguntando, más bien se trate del componente DataSource...hummm...aclaranos mejor la figura...
Saludos....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 01-03-2011 a las 14:21:58.
Responder Con Cita
  #7  
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
  #8  
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
  #9  
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
  #10  
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
  #11  
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
  #12  
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
  #13  
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
  #14  
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
  #15  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
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
Responder Con Cita
  #16  
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

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:
------ Tabla Usuario-----
ID Nombre Estado
Dónde se tiene ya muchos registros guardados...

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:
ADOConnection1 < ADOTable1 < DataSource1 < DBGrid1
Si activamos(Active=True) nuestro componente ADOTable vemos que trae desde la BD todos los registros sin excepcion de ninguno. Pero lo que se quiere es que por ejemplo mostrar el usuario que tiene como ID=6, es decir solo quiero mostrar el usuario cuyo ID es igual a 6, lógicamente si estuviéramos trabajando con un ADOQuery,lo que hariamos sería cambiar de sentencia SQL algo como:
Código SQL [-]
Select * from Usuario Where ID = 6
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
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOTable1.Filter:='ID=6';// le digo que el filtro es que me muestre solo el usuario cuyo ID es 6
ADOTable1.Filtered:=True;// activamos el filtro
end;
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 >
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOTable1.Filter:='Nombre='+Edit1.Text;// le digo que el filtro es que me muestre solo 
                        //el usuario cuyo Nombre sea igual a lo tengo en el Edit1
ADOTable1.Filtered:=True;// activamos el filtro
end;
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.
Responder Con Cita
  #17  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
Perfecto Perfecto Mas claro que el agua, gracias por al ayuda enserio, ya estoy entendido bien como es la descendencia, no solo de TDataSet, sino cual va enganchado con cual para hacer las diferentes operaciones o visualizaciones, me esta quedando muy claro y es lo que no sabia, que componente va primero o cual despues, o cual conectado a cual, ese era mi gran problema por que como te digo estoy leyendo a pasos pequenios el libro de 'la cara oculta de delphi 4' por lo cual estoy perdido y resolviendo solo lo que se me presenta a mi paso por el momento.

con esto me queda claro lo que tengo que hacer y no ando tan perdido.

a lo que me mencionas de por que una busqueda numerica y mi campo 'Nombre' es string, lo que pasa es que me equivoque al poner esa sentencia, lo que queria hacer era una busqueda numerica por el ID de usuario, y no encontraba la manera e onvertir el dato de cadena a numero, usaba el QuotedStr pero para los strings, eh intentaba hacer el 'StrToInt' para convertirlo pero no me lo acepta, aparte de que estaba usando un ADODataset en su propiedad, commandText para hacer esto, lo cual si fue revoltoso, no entendia hasta hoy que me me acorde viendo tu ejemplo de manipular las propiedades del ADODataset, por lo cual mejor utilice el ADOQuery y con el cual ahora mismo estoy haciendo las consultas.

asi me quedo y asi me funciono mejor.
Cita:
DataModulePrincipal.ADOTableUsuario.ADODataSetUsuario.CommandText:= 'Select * from where UsuarioID = (:consultaNum)';
DataModulePrincipal.ADODataSetUsuario.Parameters('consultaNum').AssignValues(:consultaNum);
DataModulePrincipal.ADODataSetUsuario.Open;
con esto ya hice la busqueda por medio de un numero y dependiendo un RadioButton que elija el usuario, hare la conversion, ya sea a entero o a cadena, por lo cual se resolvio mi problema, y ahora ya entiendo bien como definir cada componente y engancharlo para que se visualice, muchas gracias por la paciencia, y espero que no surgan mas dudas xD gracias :P
Responder Con Cita
  #18  
Antiguo 02-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
SORRY!!! esa parte de codigo esta mal jajaja abri un respaldo del archivo que estaba mal y lo copie de ahi, sorry, este es el codigo que uso para hacer la consulta numerica, por parametros y asi funciona bien, disculpa jajaja no me fije, aqui esta el correcto. :S

Cita:
DataModulePrincipal.ADOQueryUsuarios.SQL.Add('Select * from Usuario where UsuarioID = :UsuarioID');
DataModulePrincipal.ADOQueryUsuarios.Parameters.ParamByName('UsuarioID').Value:= StrToInt(edtBuscar.Text);
DataModulePrincipal.ADOQueryUsuarios.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 17:03:45.


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