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 12-06-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
los query?

Hola,

sigo actualizando mi aplicación de paradox a interbase, estoy intentado usar menos tablas y más querys pero, por lo que veo, me dice el programa que en las query no puedo guardar registros nuevos.

El caso es que yo necesito, por un lado visualizar en un grid varios campos, de una tabla de datos económicos, pero que solo me figuren los que están relaccionados con el usuario que esté en este momento activo en la tabla de socios, esto lo filtra por el numero de socio, que es el campo numalu.

En esa ventana tengo que poder insertar nuevos registros económicos para este mismo usuario, pero me dice, si uso un query que esta en modo solo lectura.

Esto me está obligando a que, si quiero guardar el cambio, tengo que tener una tabla para la información económica, donde guardar datos, y el grid unido con el query, pero esto me parece absurso, supongo que para esto, mejor tengo todo directamente en tIBtables .

¿Alguien me puede orientar en este tema?. Porque me aconsejaron que no usara, en la medida de lo posible, tIBtables para el interbase, pero entonces ¿por que lo sustituyo?

Me han comentado que les eche un vistazo a los TIBDAtaset, y los TibSQL, pero la verdad, no se por donde cogerlos.

Ayuda!! help!!

gracias

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #2  
Antiguo 12-06-2003
linsua linsua is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 27
Poder: 0
linsua Va por buen camino
Hola Virginia,

Este es un cambio bastante costoso, deberás leer mucho y no creo que puedas llegar a algo concreto y elegante sin tener bien claro cuales son los cambios y diferencias entre una base de escritorio (Paradox - dBase) y una base relacional (Interbase – SQL Server)

Como Biografía te aconsejo “La Cara Oculta de DELPHI 6”

Como Orientación básica:
Si trabajas con BDE puedes hacer altas y bajas con TQuery si activas la propiedad RequesLive, pero si superas los 20.000 Registros vas a tener problemas muy serios de velocidad, también puedes hacer altas y bajas combinando TQuery y TUpdateSQL esto funciona mejor, pero no es lo optimo.

Si trabajas con componentes orientados a bases relacionados (IBExpress, ADO, DBExpress) te aconsejo que entres en el mundo de midas, para trabajar con DataSet, Provider y ClientDataSet

Para despedirme, sí, debes dejar las tablas en las paletas de componentes sin tocar

Un saludo
__________________
Luciano

Compartir el conocimiento tambien es aprender
Responder Con Cita
  #3  
Antiguo 12-06-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
Hola,

lo primero gracias por contestarme.

En mi caso Si superaran ese numero de registros.
Pero, me estás aconsejando Tquerys o los TIBQuery? por que entiendo, que si lo que voy a usar es interbase desde ahora, no tiene, bajo me punto de vista, mucho sentido, usar los componentes que usaba para paradox.

>TQuery y TUpdateSQL esto funciona mejor, pero no es lo optimo.

¿por que no es lo optimo?¿como se usaría?

>Si trabajas con componentes orientados a bases relacionados
>(IBExpress, ADO, DBExpress) te aconsejo que entres en el mundo
>de midas, para trabajar con DataSet, Provider y ClientDataSet

¿ME puedes explicar a que te refieres con esto?, no te entiendo, supongo que soy más novata de lo que creía.


>Para despedirme, sí, debes dejar las tablas en las paletas de
>componentes sin tocar

¿ni siquiera para insertar registros nuevos? bien, ¿y que utilizo en su lugar?

Muchas gracias por todo

Virginia

PD (disculpad que este mismo mensaje lo haya puesto como hilo nuevo, me he confundido de botón
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #4  
Antiguo 12-06-2003
linsua linsua is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 27
Poder: 0
linsua Va por buen camino
No te estoy aconsejando ni TQuery, ni TIBQuery, solo eran comentarios y forma de utilizar uno u otro componente.
Es verdad que no tiene sentido seguir utilizando los mismo componentes que con Paradox, pero para esto te tienes que olvidar de la Paleta de Componentes BDE y decidirte por alguna de las tantas maneras de conectase a una base de datos Cliente-Servidor (IBExpress, DBExpress, ADO, OBDC), una vez decidido, empezar a estudiar el como conectarme, creo que estas en un punto, que no tienes claro que componente utilizar, y eso es porque no te decides por uno en concreto, me explico?
Bien ahora te voy a contar mi experiencia, que de hecho no creo que sea la mejor, pero a mi me funciona perfectamente:
Tengo una Base de Datos Interbase 6.0 de 125MB, con 97 Tablas, la tabla mas grande tiene 104.000 registros y la cantidad de usuarios varia entre los 50 y 60.
Tengo implementado un servidor de datos (W 2000 Server)
En el mismo servidor tengo una aplicación de capa intermedia, se puede distribuir pero no entremos en detalles, que me gestiona todas las peticiones de los equipos clientes, esta capa intermedia, realiza una conexión a la base de datos con el Componente TSQLConexion (DBExpress) y los DataSet son TSQLQuery (DBExpress)
La aplicación Cliente se conecta a esta capa intermedia con un TSocketConection y los datos los recupero con TClientDataSet.
Esto es una orientación solamente, creo que tu problema es bastante amplio y no te puedo explicar con detalles todo el funcionamiento de cada componente.
Ahora te respondo las preguntas
¿por que no es lo optimo? Porque hay metodos mejores (Conexiones C-S)
¿como se usaría? TQuery tiene una propiedad UpdateObject que es un puntero a TUpdataSQL, luego debes hacer doble clic sobre este componente (TUpdateSQL) y configurar los scrips para insert, update y delete

¿ME puedes explicar a que te refieres con esto?, no te entiendo, supongo que soy más novata de lo que creía.
Con esto quiero decir que un sistema de bases de datos Cliente-Servidor se debe tratar como tal y no es buena idea utilizar herramientas que se diseñaron en un principio para Bases de escritorio ej: BDE

¿ni siquiera para insertar registros nuevos? bien, ¿y que utilizo en su lugar?
No, usa TClientDataSet, con este componente puedes hacer consultas SQL y además actualizaciones (Insert, Edit, Post, cancel, etc)
__________________
Luciano

Compartir el conocimiento tambien es aprender
Responder Con Cita
  #5  
Antiguo 12-06-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
Gracias de nuevo por tu ayuda, si no es mucho pedir, hay algo que no me queda claro.


>usa TClientDataSet, con este componente puedes hacer
>consultas SQL y además actualizaciones (Insert, Edit, Post,
>cancel, etc)

He estado echandole un vistazo a un IBClientDataSet, pero no se como puedo usarlo, ¿podrías orientarme algo en como funciona?. ¿como funciona eso de las actualizaciones (Insert, Edit, Post, cancel, etc) ?

Muchas gracias por la ayuda

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
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


La franja horaria es GMT +2. Ahora son las 23:11:27.


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