Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52

    [Delphi] Errore accesso al DB

    Salve a tutti,
    Programmo con Delphi 2009, la mia applicazione deve accedere al Db Paradox e cancellare tutti i record, per farlo uso il componente Ttable: setto active su false e uso la funzione emptytable.
    Dopo che cancella tutti i record, andando a insere nuovi record, imposto active su true. al momento in cui Ttable.active passa da false a true esce quest'errore:

    EAccessViolation with message 'Access violation at address 4BE25C05 in module 'IDAPI32.DLL'. Read of address 00000006'. Process Project1.exe (5248)

    Non capisco come devo fare per risolverlo, nn posso fare nessuna operazione sul database.sapete aiutarmi? Grazie anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    Nessuno mi sa aiutare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    non ho mai lavorato con Paradox....

    perche' imposti la tabella su active=False?????

    non e' che cerchi di eliminare qualche record referenziato in altra tabella?

    posta la struttura del tuo database

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Credo anche io siano necessarie ulteriori informazioni, almeno uno stralcio di codice, per poter indagare più a fondo sul problema e ipotizzare una soluzione: l'errore potrebbe anche annidarsi in un utilizzo errato o improprio dei metodi del componente, o altrove.

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

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    ecco: =)
    Form1.Table1.Active:= False;
    Form1.Table1.Exclusive:= True;
    Form1.Table1.Open;
    Form1.Table1.EmptyTable;
    Form1.Table1.Close;
    Form1.Table1.Exclusive:= False;

    ma l'errore esce ogni qualvolta accedo al DB dopo aver eseguito il cpmando emptytable

    La struttura cmq è questa:
    ID string primaryindex size=5
    Name string secondary index size=255
    Type string secondary index size=40
    Year smallint secondary index
    Dir string size=255
    Details memo size=240
    campo6 memo size=240
    campo7 graphics size=240

    nessun record referenziato. Solo questo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    STRANEZZE!!!

    L'errore accade solo in delphi 2009, io sto scrivendo due applicazioni differenti una in D7 e l'altra in D2009, per prova sto la stesse righe di codice. I risultati sono i seguenti.

    Dopo che cancello tutti i record con delphi con le righe precedentemente postate o queste:

    Codice PHP:
      x:=0;
      
    repeat
         Form1
    .Table1.RecNo:= x;
         
    Form1.Table1.Delete;
         
    x:= x+1;
        
    until  Form1.Table1.RecNo=0
    esce lo stesso tipo di errore alla fine. Ho provato a scollegare Table1 runtime per poi riattivarlo: ogni volta che si riattiva esce l'errore.

    Delphi 7 invece gestisce tutto correttamente(ho provato sl a collegarmi allo stesso DB vuoto, non mi da nessun errore, e con la procedure descritta nell'altro post l'ho ripopolato).
    Dopo averlo ripopolato l'applicazione in D2009 è ritornata a funzionare.
    Cm lo spiegate? Sbaglio qualcosa io?

    Mi piacerebbe chiederlo al "Guru" Marco Cantù.=)

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    devi per forza usare le BDE?

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    52
    Che mi suggerisci di utilizzare?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    io mi sono trovato benissimo utilizzando Firebird.... all'epoca mi consigliò Alka, e certamente non cambiere!

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.