Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    2

    [DELPHI] TSimpleDataSet

    Salve a tutti.
    Sto cercando il fare il passaggio di una applicazione in delphi+PostgreSql con BDE ad una senza BDE.
    Leggendo qua e la, ho saputo che deve essere usato la libreria dbExpress, sulla quale ho definito una connessione a PostgreSql (che non è nella lista delle predefinite) e sono riuscito a collegarmi ed interrogare il database.
    Ovviamente poi ho dovuto riempire con il risultato di una query una tabella e lì è nato il problema, perchè ho scoperto che dbExpress è un dataset unidirezionale e quindi non adatto per le griglie.
    Ho visto poi che la cosa si può risolvere con il componte SimpleDataSet, ma quì mi sono perso.
    Io ho utilizzato in un form della mia applicazione i seguenti componenti:
    1. TSqlConnection per la connessione al db (detto Database1);
    2. TSqlQuery per la query sul db (detta Query1);
    3. TSimpleDataSet per permettere la bidirezionalità.
    Prima domanda: bastano questi o mi manca qualcosa ?

    Poi non sono riuscito a settare correttamente il componente TSimpleDataSet.
    Ho messo nella proprietà Connection il riferimento a Database1.
    Seconda domanda: ma cosa devo mettere nella proprietà DataSet ?

    Io ho messo Query1, ma quando vado ad attivare il componente, questo mi dice che "Missing query, table name or procedure name".

    Evidentemente mi sono perso.
    Dove sbaglio ?
    Terza domanda: come si utilizza il componente TSimpleDataSet ?

    Ciao e grazie.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Come hai già avuto modo di vedere, la libreria dbExpress è unidirezionale: i DataSet, quindi, si possono scorrere solamente in un senso, partendo dal primo record e facendosi restituire i record successivi dal server, fino ad esaurimento.

    Non possono essere quindi associati ad una griglia e ad altri componenti "data aware", poiché questi richiedono di potersi spostare fra i record (mentre l'approccio unidirezionale può essere utile per generare pagine Web, report e simili).

    Il componente TSimpleDataSet che hai utilizzato, in realtà, è l'unione di più componenti distinti: è un derivato di TClientDataSet, un componente che dovresti approfondire per la gamma molto estesa di funzionalità che offre, ma che include anche un TDataSetProvider e un TSQLDataSet; si tratta di componenti che, per esperienza personale, suggerisco di utilizzare in modo distinto. In conclusione, riserverei l'uso del TSimpleDataSet solo ad ambiti ben specifici in cui si può "semplificare" e si vogliono utilizzare un numero inferiore di componenti.

    Per un approfondimento, suggerisco di leggere questa guida che parla in modo generalizzato della libreria dbExpress e di come utilizzare correttamente i suoi componenti.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    2
    Grazie Alka,
    leggo il materiale presente nel link ed eventualmente ti disturbo ancora una volta (scusami, ma son un po' rincoglionito ).
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.