IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème ma DB n est pas mise à jour aprés l'ajout d'un nouveau champ dans une table


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Problème ma DB n est pas mise à jour aprés l'ajout d'un nouveau champ dans une table
    Bonjour,

    Je souhaite rajouter un nouveau champ dans ma table et puis mettre à jour ma db.
    Problème: Mon nouveau champ n est pas crée dans la DB. Une idée??

    Voici mon code:

    Try
    connectionStr = "provider=microsoft.jet.oledb.4.0;" & "data source= " & db & ";"
    conn = New OleDb.OleDbConnection(connectionStr)
    conn.Open()

    da = New OleDb.OleDbDataAdapter
    cmd = conn.CreateCommand
    cmd.CommandType = CommandType.TableDirect
    cmd.CommandText = "SYS_HISTORY"
    da.SelectCommand = cmd

    da.Fill(ds, "SYS_HISTORY")

    ' *** Add a new column ***
    myDataColumn.DataType = System.Type.GetType("System.String")
    myDataColumn.ColumnName = "id_STR"

    Dim dtm As System.Data.Common.DataTableMapping
    Dim table As DataTable

    dtm = da.TableMappings.Add("SYS_HISTORY", "SYS_HISTORY")
    dtm.ColumnMappings.Add("id_STR", "id_STR")
    table = ds.Tables("SYS_HISTORY")
    table.Columns.Add(myDataColumn)

    br = New OleDb.OleDbCommandBuilder(da)

    ds.Tables(0).AcceptChanges()

    da.Update(ds, "SYS_HISTORY")
    'da.Update(ds.Tables("SYS_HISTORY"))
    ' da.Update(ds)

    conn.Close()
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    Pour ajouter un nouveau champ dans une BDR il faut utiliser la commande sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE nomtable ADD nomchamp type.
    Tu peux le faire en créant la requête sql dans ton code et l'exécuter avec un objet command.executenonquery.
    Bon boulot Jean

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Sans passer par une commande SQL
    Je veux rajouter le champ sans passer par une commande SQL.

    Merci

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    il faut passer par ADOX

Discussions similaires

  1. [eZ Publish] Bloc dynamique n'est pas mise à jour sans que je modifier la Frontpage
    Par souifiene dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/05/2011, 14h56
  2. ma table n'est pas mise à jour pourquoi ?
    Par kitcarson23 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/10/2010, 17h29
  3. Réponses: 1
    Dernier message: 31/03/2010, 16h57
  4. Réponses: 11
    Dernier message: 08/01/2008, 11h36
  5. Réponses: 1
    Dernier message: 08/06/2007, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo