Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB6] errore eseguendo query su dbf

    Ho il seguente codice:

    codice:
    Dim dbd As Database
    Dim dbf As Recordset
    Dim dbNewTable As TableDef
    Dim dbField As Field
    
    Set dbd = OpenDatabase(LocalDBDir, False, False, "Foxpro 3.0")
    
    Set dbNewTable = dbd.CreateTableDef("test.dbf")
    Set dbField = dbNewTable.CreateField("id", dbText, 30)
    dbNewTable.Fields.Append dbField
    dbd.TableDefs.Append dbNewTable
    
    dbd.Execute ("INSERT INTO test (id) VALUES('ciao 1')")
    dbd.Execute ("INSERT INTO test (id) VALUES('ciao 2')")
    
    dbd.Close
    Funziona tutto perfettamente (apre il database e crea la tabella) solo che dopo aver eseguito la prima insert mi ritorna l'errore "Per l'operazione è necessaria una query aggiornabile"
    Ho cercato in giro documentazione su questo errore, e ho trovato solo riferimenti al fatto che il database potrebbe essere in sola lettura.
    Questo però non è il mio caso, in quanto la tabella viene creata e il primo record scritto, e l'errore avviene sulle insert successive.
    Qualcuno ha idea del motivo di questo comportamento e come risolverlo?
    Grazie
    --
    Wiz
    "FLy, you fools"
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    che io ricordi l'errore avviene quando mancano dei permessi, oppure la query genera un recordset non aggiornabile. Scartando la seconda ipotesi, rimane la prima in piedi anche se la prima query dici che funziona e questo è strano. Verificato tutti ma proprio tutti i permessi? Db, cartella, file, ODBC se lo usi, ecc ecc...?
    Ans.

  3. #3
    Più che strano è assurdo. Le ho provate tutte, la prima quesri viene sempre eseguita, poi le altre generano l'errore. Ho anche provato a separare la creazione della tabella e la scrittura dei dati in due processi separati: solita cosa, la tabella nelprimo processo viene creata, e nel secondo processo ilprimo inserimento di dati funziona e gli altri creano l'errore. L'errore viene generato sempre quando la tabella non è totalmente vuota.
    Qualche idea?
    --
    Wiz
    "FLy, you fools"
    G.

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.