+ Rispondi al messaggio
Pagina 3 di 5 primaprima 12345 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 42

Alter table

  1. #21
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    ok ci provo e faccio sapere.
    ℹ️ Leggi di più su sistemista ...

  2. #22
    L'avatar di alextyx
    alextyx non è in linea Moderatore Globale
    Quote Originariamente inviato da Max.Riservo Visualizza il messaggio
    Con Access, temo che l'unica possibilità di resettare il counter, sia ottenibile con il compatta/ripristina del DB ...
    Sono parecchio arrugginito, ma anch'io ricordo così. Ovviamente puoi farlo da codice, ma a tabelle popolate non potrai fare granchè, solo ridurre le dimensioni del DB al minimo necessario.
    ℹ️ Leggi di più su alextyx ...

  3. #23
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Perché è così deve essere, e ci mancherebbe che non lo fosse

    Oppure prima cancelli il campo, salvi la tabella e poi ricrei il campo contatore.
    Ho provato in tutti i modi ma non funziona.
     '  Try
            Dim sqlCmd As String = String.Empty
            Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & DBase) ' Application.StartupPath & "\" & "DocumentiPersonali.mdb"
            Dim CMD As New OleDb.OleDbCommand()
            CMD.Connection = CN
            CN.Open()
            sqlCmd = "DROP INDEX PRIMARYKEY ON fototessera" ' elimna la chiave primaria
            CMD.CommandText = sqlCmd
            CMD.ExecuteNonQuery()
            CN.Close()
     
       Catch ex As Exception
             MessageBox.Show(ex.Message)
             End Try
    
    Elimina la chiave primaria sul contatore idFoto correttamente.tutto Ok.
    Dopo ho provato ad eliminare il campo idFoto(campo contatore) e non me lo elimina,allora ho pensato visto che è un campo contatore proviamo a modificarne il tipo di campo da contatore a campo text
    questo il codice:
    Dim CUN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & DBase) ' Application.StartupPath & "\" & "DocumentiPersonali.mdb"
            Dim CUMD As New OleDb.OleDbCommand()
            CUMD.Connection = CUN
            CUN.Open()
            sqlCmd = "ALTER TABLE fototessera ALTER COLUMN idFoto TEXT(10)"  'Modifica il campo idFoto(che era contatore a TEXT)
            CUMD.CommandText = sqlCmd
            CUMD.ExecuteNonQuery()
    
    e lo modifica correttamente da contatore a text
    questo non elimina il campo idFoto che prima da contatore è stato trasformato a text
            sqlCmd = "ALTER TABLE fototessera DROP COLUMN idFoto"  'elimna il campo idFoto(che era contatore)
            CUMD.CommandText = sqlCmd
            CUMD.ExecuteNonQuery()
            CUN.Close()
    
    Dà errore come da immagine
    Nome:   errore.JPG
Visite:  25
Grandezza:  58.8 KB
    ???
    Fa parte di un indice..ma se ho eliminato la chiave primaria,ho trasformato da contatore a text come fa ad essere parte di un indice visto che non c'è la chiave primaria e l'indice non esiste più?
    Ultima modifica di sistemista; 27-09-2021 22:47 
    ℹ️ Leggi di più su sistemista ...

  4. #24
    L'avatar di sspintux
    sspintux non è in linea Very Important Person Ultimo blog: SqlServer express e connessione DAC
    Buongiorno,

    prova con DROP CONSTRAINT invece di DROP index
    ℹ️ Leggi di più su sspintux ...

  5. #25
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da sspintux Visualizza il messaggio
    Buongiorno,

    prova con DROP CONSTRAINT invece di DROP index
    Buongio a te,non funziona,allego immagine di errore
    mah...non sò più che pesci prendere...
      Dim sqlCmd As String = String.Empty
                Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & DBase) ' Application.StartupPath & "\" & "DocumentiPersonali.mdb"
                Dim CMD As New OleDb.OleDbCommand()
                CMD.Connection = CN
                CN.Open()
                sqlCmd = "DROP CONSTRAINT PRIMARYKEY ON fototessera" ' elimna la chiave primaria
                CMD.CommandText = sqlCmd
                CMD.ExecuteNonQuery()
    
    Nome:   errore di sintassi.JPG
Visite:  17
Grandezza:  16.2 KB

    ℹ️ Leggi di più su sistemista ...

  6. #26
    L'avatar di sspintux
    sspintux non è in linea Very Important Person Ultimo blog: SqlServer express e connessione DAC
    riproviamo ...

    ALTER TABLE fototessera DROP CONSTRAINT PRIMARYKEY

    Verifica che il nome della pk sia effettivamente 'PRIMARYKEY'
    ℹ️ Leggi di più su sspintux ...

  7. #27
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
       sqlCmd = "ALTER TABLE fototessera DROP CONSTRAINT idFoto" '  chiave primaria
                CMD.CommandText = sqlCmd
                CMD.ExecuteNonQuery()
    
    Serie di errori di varia natura in ordine cronologico dopodiverse varianti di codice
    Nome:   Errore di sistema.JPG
Visite:  17
Grandezza:  19.8 KB

    Nome:   vincolo check.JPG
Visite:  17
Grandezza:  14.4 KB
    questo è l'ultimo errore
    e questa l'iimagine della tabella,come si può vedere la chiave primaria è idFoto
    Nome:   chiave primaria.JPG
Visite:  15
Grandezza:  15.9 KB

    Novità dell'ultimo secondo...
    Non sò cosa sia successo ma il campo idFoto è stato regolarmente eliminato...
    mah,stranezze...
    allego codice e foto

    ivate Sub btnRipristinaTabellaFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRipristinaTabellaFoto.Click
            Try
                Dim sqlCmd As String = String.Empty
                Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & DBase) ' Application.StartupPath & "\" & "DocumentiPersonali.mdb"
                Dim CMD As New OleDb.OleDbCommand()
                CMD.Connection = CN
                CN.Open()
                sqlCmd = "DROP INDEX PRIMARYKEY ON fototessera" ' elimna la chiave primaria
                CMD.CommandText = sqlCmd
                CMD.ExecuteNonQuery()
                sqlCmd = "ALTER TABLE fototessera DROP COLUMN idFoto" ' elimna il campo contatore
                CMD.CommandText = sqlCmd
                CMD.ExecuteNonQuery()
                CN.Close()
    
    Nome:   Toltocontatore.JPG
Visite:  16
Grandezza:  17.0 KB
    In questo modo ha eliminato il campo,comunque,sono poco convinto...
    Ultima modifica di sistemista; 28-09-2021 12:52 
    ℹ️ Leggi di più su sistemista ...

  8. #28
    L'avatar di sspintux
    sspintux non è in linea Very Important Person Ultimo blog: SqlServer express e connessione DAC
    mi sa che idFoto è il nome del campo e non della chiave primaria.

    prova a vedere il nome in 'Struttura tabella/Indici' (dovrebbe essre un pulsante che si visualizza dopo che hai aperto la 'Struttura tabella'

    HTH


    HTH
    ℹ️ Leggi di più su sspintux ...

  9. #29
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Se guardi nel post precedente si vede l'immagine della tabella con la chiave primaria che è collocata sul campo idFoto.
    ℹ️ Leggi di più su sistemista ...

  10. #30
    L'avatar di sspintux
    sspintux non è in linea Very Important Person Ultimo blog: SqlServer express e connessione DAC
    nome del campo e nome della constraint possono essere diversi ;
    come vedi in questo caso il nome del campo è ID e quello della chiave primaria 'PrimaryKey'

    Nome:   Indici.PNG
Visite:  16
Grandezza:  39.0 KB
    Ultima modifica di sspintux; 28-09-2021 13:32 
    ℹ️ Leggi di più su sspintux ...

+ Rispondi al messaggio
Pagina 3 di 5 primaprima 12345 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 7
    Ultimo Post: 03-10-2016, 07:47
  2. Risposte: 2
    Ultimo Post: 06-03-2015, 10:29
  3. Alter Table che funziona male
    Da aldodellacasa nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 20-02-2014, 13:38
  4. [Generale]Chiarimento su ISTRUZIONE ALTER TABLE
    Da Aemilius nel forum Altri Database Server
    Risposte: 7
    Ultimo Post: 02-07-2011, 08:45
  5. Chiarimento istruzione ALTER TABLE
    Da alimax88 nel forum Visual Basic .Net
    Risposte: 9
    Ultimo Post: 01-07-2011, 20:25