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

Windows Forms Discussion :

[VB.NET] Vérification d'existance d'une table


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut [Résolu] [VB.NET] Vérification d'existance d'une table
    Bonjour a tous
    Je me suis connecter à une base de données access via VB.NET et en fait j aimerais savoir maintenant comment faire pour vérifier l'existance d'une table.
    En gros lui dire si la table existe tu la supprime sinon tu fais rien.
    car si je mets le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Requete.ActiveConnection = BD
    Requete.CommandText = "DROP TABLE EXPORT"
    Recordset = Requete.Execute
    et que la table n'existe pas il plante et si je le mets pas, qd il veut la créer comme elle existe deja ca plante aussi
    Si qq un a une idée je suis preneur

  2. #2
    Membre régulier Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Une petite idée :
    plutôt que de dropper ta table, pourquoi pas supprimer les enregistrements et garder la strcuture de ta table. Je pense que ce serais moins couteux.

    Pour ce qui est de la détection de la présence d'une table, pour acces je ne sais pas mais pour Oracle un existance, une table system qui liste tous les "objects" de l'instance de la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from all_tables where owner = 'ton_schema' and table_name ='ta_table' ;
    Ya peut être un équivalent en accès ...

    Deuxième solution un peu crade ...
    un try { suppression } catch { creation }
    hou j'ai honte de proposer cette solution ....
    no frag, no life

  3. #3
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Ok merci si j arrive pas à trouver la traduction de ta solution de oracle a access je vais faire comme tu l as suggéré au départ en gardant ma table mais le pb c que c est une table qui lors de la preimere utilisation n'existe pas donc qui peut provoquer un plantage mais si vraiment y a pas moyen de faire autrement je la crérai au départ.

  4. #4
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    on peut reuperer les tables dans une datatable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Dim dt As DataTable = taConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})
    cet ex est avec OleDb, mais DbSchemaTable devrait exister pour le driver oracle puisque il existe dans system.data.common

    je pense qu'il est possible d'affiner le code {Nothing, Nothing, Nothing, "TABLE"} pour savoir directement si ladite table existe, a voir dans la doc donc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête avec vérification d'existence dans une autre table
    Par TigerCX dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/04/2011, 19h06
  2. [VB.NET]Vérifié l'existance d'une table
    Par steelidol dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/04/2006, 20h18
  3. [JDBC]Tester l'existence d une table
    Par juflata dans le forum JDBC
    Réponses: 7
    Dernier message: 29/06/2004, 15h27
  4. [SQL - ASP] existance d'une table
    Par Larson dans le forum ASP
    Réponses: 4
    Dernier message: 02/06/2004, 10h41
  5. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55

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