Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    vb.net e access(autorizzazione aggiornamento dati non disponibile)

    autorizzazione per aggiornamento dati non disponibile"

    questo è l'errore ceh mi da quando cerco di inserire dei dati dentro access
    prima creo la tabella e subito dopo cerco di inserire

    da cosa dipende?

    gerazie
    vedi immagine in allegato

    il bello è che dopo aver creato la tabella e da erroe se vado su access e cerco di inserire qulcosa tramete query va tutto benissimo

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Il codice sorgente?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    codice:
        Public Sub EliminaTabella(ByVal NomeTabella As String)
                Dim Com As New OleDb.OleDbCommand("drop table " & NomeTabella, conn)
                Com.ExecuteNonQuery()
    
        End Sub
    qui elimino la tabella

    codice:
     
    
        Public Sub CreaTabella(ByVal NomeTabella As String, ByVal Campipar As String)
            Dim strsql As String
            Dim Campi() As String = Split(Campipar, ",")
            Dim i As Integer
    
            strsql = "CREATE TABLE " & NomeTabella & " ( "
    
            For i = 0 To Campi.Length - 1
                strsql = strsql & " " & Campi(i) & " varchar(100),"
            Next
    
            strsql = Mid(strsql, 1, Len(strsql) - 1) 'tolgo l'ultima virgola
            strsql = strsql & " )" 'chiudo la parentesi
    
            Dim Com As New OleDb.OleDbCommand(strsql, conn)
            Com.ExecuteNonQuery()
    
        End Sub
    qui la ricreo

    codice:
        Try
                    Strsql = "insert into " & Nometabella & " (" & Tabelle & ") values (" & Campi & ") "
                    Dim Com As New OleDb.OleDbCommand(Strsql, conn)
                    Com.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.Message & "---" & ex.ToString)
                End Try
    e qui faccio le insert

    sono 3 sub
    che vengono richiamate in successione
    il punto è che si ferma proprio al momento di fare la insert
    ma se aproaccess va tutto bene
    grazie

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Forse è il nome della variabile a portarmi fuori strada, ma c'è un riferimento a Tabelle nella riga della INSERT dove invece andrebbe un riferimento ai nomi dei campi.

    A parte questo, il fatto che in Access funzioni fa poco testo.

    Dovresti fare un debug "passo per passo" e verificare nel punto della INSERT qual è il valore delle variabili.

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

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

  5. #5
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    ah si lo so quello che vuoi dire

    sono i capi che hanno dato i nome alle variabili...
    tabelle: sarebbe il nome dei campi
    campi: sarebbero i valori

    renditi conto in che situazione lavoro

    questa è la insert restituita
    codice:
     
    insert into TabellaCod_17 (CODARTA,DESCARTA,CODARTB) values ('CPU04001','CPU AMD XP 2400+  SCONTO ART. 4%','')

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da amodio
    sono i capi che hanno dato i nome alle variabili...
    Dicono tutti così

    Comunque, metti un breakpoint sulla riga dell'INSERT per verificare cosa stai effettivamente andando ad eseguire come statement SQL.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    ehm avevo risposnto sopra modificando il post

  8. #8
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    grrrrrrrrrrrrrrrr
    ho fatto uno sleep(9000)
    e va tutto bene
    uff ma quanto devo far aspettare eeeeeeeeeh?
    grarr access sara pure comodo ma è proprio un giocattolo!

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Con una Sleep funziona? In tal caso, non credo sia un problema di attesa vera e propria, quanto ad un effetto collaterale dovuto al Garbage Collector del .NET Framework che si occupa, periodicamente, di ripulire gli oggetti inutilizzati.

    Evidentemente, uno dei comandi OdbcCommand che esegui rimane allocato in memoria e mantiene la tabella nello stato di modifica della struttura, impedendo ad altri comandi di essere eseguiti.

    Dovresti prova a chiamare il metodo Dispose del comando (non ricordo se è implementato) per tentare di rilasciare quanto è bloccato da esso, prima di fare altre operazioni.
    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.