none
sql db Express ajout de la table vues RRS feed

  • Question

  • Salut a tous

    Voila j'ai reussi a ajouter une Table à AspneDB.MDF creer par configuration aspnet
    Dans le meme fichier il y les table Vues dans le style vw_NomDeLaTable

    est-ce possible dy a jouter ma table si celle-ci est nomme (aspnet_Contacts)
    et ce de facon dynamiques avec c#

    J'ajoute ma table de la facon suivante

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!this.Page.IsPostBack)
    {
    FindContactsTable();
    return;
    }
    }
    public void FindContactsTable()
    {
    SqlConnection cnn = new SqlConnection("data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\\ASPNETDB.MDF;User Instance=true");
    if (cnn.State == ConnectionState.Closed)
    { cnn.Open(); }
    SqlCommand cmd;
    string sqlF = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'aspnet_Contacts'";
    cmd = new SqlCommand(sqlF, cnn);
    cmd.ExecuteNonQuery();
    if (sqlF.Contains("aspnet_Contacts"))
    {
    try
    { CreateContactsTable(); }
    catch
    { return; }
    finally
    {
    cmd.Dispose();
    cnn.Close();
    cnn = null;
    }
    }
    }
    protected void CreateContactsTable()
    {
    SqlConnection cnn = new SqlConnection("data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\\ASPNETDB.MDF;User Instance=true");
    if (File.Exists(Server.MapPath(@"App_Data\\ASPNETDB.MDF")).Equals(true))
    {
    if (cnn.State == ConnectionState.Closed)
    {
    cnn.Open();
    }
    SqlCommand cmd;
    string sql = "create table aspnet_Contacts ("
    + "ContactsID INT IDENTITY (1,1) PRIMARY KEY not null, "
    + "Nom nvarchar (50), "
    + "Pays nvarchar (50), "
    + "URL nvarchar (150), "
    + "EMail nvarchar (150))";
    cmd = new SqlCommand(sql, cnn);
    cmd.ExecuteNonQuery();
     
     
    cmd.Dispose();
    cnn.Close();
    cnn = null;
    }
    else { return; }
    }

    Merci

     

     

     


    BigDan
    samedi 18 décembre 2010 21:51

Réponses

  • Non pas d'erreur dans ce codes mais mon probleme est de creer le view table

    Mais je crois avois reusis

    Avec ce code

    string

     

     

    Vsql = "CREATE VIEW vw_aspnet_Contacts AS SELECT ContactsID, Nom, Pays, URL, EMail FROM aspnet_Contacts";

    cmd =

     

    new SqlCommand(Vsql, cnn);

    cmd.ExecuteNonQuery();

    Cela creer le view table

    Dans VUES de La base de donnée

    Si je N'ai pas d'erreur ou si il ne me manque rien dans ce code ca devrais allée maintenant  si je ne m'abuse

     

    Merci


    BigDan
    dimanche 19 décembre 2010 16:23

Toutes les réponses

  • Bonjour,

    Le code que vous utilisez me semble correct. Quel est votre problème plus précisement ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    dimanche 19 décembre 2010 07:23
    Modérateur
  • Bonjour Gilles

    Merci pour ce retour rapide.

    J'aimerais savoir si possible de d'ajouter cette table dans l'élément VUES ou VIEW

    de la base de données comme la table aspnet_Contacts dans vw_aspnet_Contacts

    Par codes.

     

    MERCI!


    BigDan
    dimanche 19 décembre 2010 14:24
  • Bonjour,

    Je pense que Gilles disait que le code lui semble correct et voudrait savoir ce qui se passe lorsque ce code est exécuté ? Y a t'il par exemple une erreur quelconque ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    dimanche 19 décembre 2010 16:18
    Modérateur
  • Non pas d'erreur dans ce codes mais mon probleme est de creer le view table

    Mais je crois avois reusis

    Avec ce code

    string

     

     

    Vsql = "CREATE VIEW vw_aspnet_Contacts AS SELECT ContactsID, Nom, Pays, URL, EMail FROM aspnet_Contacts";

    cmd =

     

    new SqlCommand(Vsql, cnn);

    cmd.ExecuteNonQuery();

    Cela creer le view table

    Dans VUES de La base de donnée

    Si je N'ai pas d'erreur ou si il ne me manque rien dans ce code ca devrais allée maintenant  si je ne m'abuse

     

    Merci


    BigDan
    dimanche 19 décembre 2010 16:23
  • Ma réponse précédente n'apparait pour l'instant (elle indiquait que Gilles demandait sans doute une description de ce qui se passe lorsque ce code est exécuté).

    Je voulais compléter ma propre réponse en suggérant de supprimer le try/catch qui va actuellement cacher les erreurs qui se produisent. Je sais que le sujet est souvent sensible mais généralement je pense qu'il est préférable qu'une application plante clairement pour qu'elle puisse être corrigée plutôt que de masquer totalement les erreurs qu'elle rencontre.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    dimanche 19 décembre 2010 16:24
    Modérateur