Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    46

    [DELPHI] ExecSql con più comandi

    devo eseguire questi comandi

    delete from tab1;
    TRUNCATE tab2;
    insert into tab1 select * from tab2;

    Utilizzando i componenti dbEXpress in Delphi 7 preparavo il componente TSQLQUERY con questi comandi separati dal ";", lanciavo ExecSQL e tutto funziona.

    Con i componenti DBExpress del delphi 2009, la stessa procedura non funziona dicendo che c'è un errore vicino a ";TRUNCATE tab2;" come se non capisse che i due comandi sono da eseguire separatamente.

    In Delphi 2009 non fuziona più il ";". Bisogna utilizzare altre funzioni?

    Grazie per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ciao,

    anche io, pur non utilizzando il 2009.... quindi con delphi7 e con i componenti della palette Interbase ho avuto problemi del genere.

    ho risolto inserendo più componenti IbSql, uno per ogni comando da eseguire.

    vedi se riesci a risolvere cosi....

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    46
    si così risolvi però per pulizia di codice e velocità preferivo inserire il tutto con un unico comando sql, anche perchè se lanci questa procedura direttamente su DB MySQL funziona, non ci sono errori di sintassi, il ; per dividere un comando dall'altro è corretto. chissà perchè su D2009 non funziona .

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    L'architettura della libreria dbExpress è stata riscritta in buona parte.

    L'uso "cumulativo" che fai del comando, a mio avviso, è errato, e se prima funzionava comunque, credo non sia formalmente corretto (magari funzionava perché, a causa di un difetto congenito del componente, non veniva impedito).

    Separa i comandi da eseguire specificandoli di volta in volta e richiamando ExecSQL per ciascun comando.

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

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

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 © 2025 vBulletin Solutions, Inc. All rights reserved.