Créer une base de données SQL Server par programmation en utilisant ADO.NET et Visual C++ .NET

Cet article explique comment créer une base de données SQL Server par programmation à l’aide de ADO.NET et visual C++ .NET.

Version d’origine du produit : Visual C++
Numéro de la base de connaissances d’origine : 307402

Introduire

Cet article fait référence aux espaces de noms de bibliothèque de classes Microsoft .NET Framework suivants :

  • System
  • System.Data
  • System.Data.SqlClient

Résumé

Les programmeurs ont souvent besoin de créer des bases de données par programmation. Cet article explique comment utiliser ADO.NET et Visual C++ .NET pour créer par programmation une base de données Microsoft SQL Server.

Étapes de création de l’exemple

  1. Démarrez Microsoft Visual Studio .NET et créez un projet d’application C++ managée. Form1 est ajouté au projet par défaut.

  2. Ajoutez le code suivant avant la définition de votre Main fonction :

    #using <mscorlib.dll>
    using namespace System;
    
    #using <system.dll>
    using namespace System;
    
    #using <System.data.dll>
    using namespace System::Data;
    using namespace System::Data::SqlClient;
    
    #using <system.windows.forms.dll>
    using namespace System::Windows::Forms;
    
  3. Ajoutez le code suivant dans votre Main fonction :

    int main(void)
    {
         Console::WriteLine(S"Press 'C' and then ENTER to create a new database");
         Console::WriteLine(S"Press any other key and then ENTER to quit");
         char c = Console::Read();
         if (c == 'C' || c == 'c')
         {
             Console::WriteLine(S"Creating the database...");
             String* str;
             SqlConnection* myConn = new SqlConnection 
             ("Server=localhost;Integrated security=SSPI;database=master");
             str = "CREATE DATABASE MyDatabase ON PRIMARY " 
             "(NAME = MyDatabase_Data, " 
             "FILENAME = 'C:\\MyDatabaseData.mdf', " 
             "SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%)" 
             "LOG ON (NAME = MyDatabase_Log, " 
             "FILENAME = 'C:\\MyDatabaseLog.ldf', " 
             "SIZE = 1MB, " 
             "MAXSIZE = 5MB, " 
             "FILEGROWTH = 10%)";
    
            try
             {
                 SqlCommand* myCommand = new SqlCommand(str, myConn);
                 myConn->Open();
                 myCommand->ExecuteNonQuery();
                 MessageBox::Show("Database is created successfully", 
                 "MyProgram", MessageBoxButtons::OK, 
                 MessageBoxIcon::Information);
             }
             catch (System::Exception* ex)
             {
                 MessageBox::Show(ex->ToString(), "MyProgram", 
                 MessageBoxButtons::OK, 
                 MessageBoxIcon::Information);
             }
    
            if (myConn->State == ConnectionState::Open)
             {
                 myConn->Close();
             }
         }
    
        return 0;
    }
    
  4. Modifiez le chaîne de connexion pour qu’il pointe vers votre SQL Server et assurez-vous que l’argument Base de données est défini sur Master ou vide.

  5. Appuyez sur la touche F5 ou la combinaison de touches CTRL+F5 pour exécuter le projet. Appuyez sur C , puis sur Entrée pour créer la base de données.

  6. Utilisez l’Explorer serveur pour vérifier que la base de données a été créée.

Notes supplémentaires

  • Ce code crée une base de données personnalisée avec des propriétés spécifiques.
  • Le dossier qui contiendra les fichiers .mdf et .ldf créés doit déjà exister avant d’exécuter le code, sinon une exception est générée.
  • Si vous souhaitez créer une base de données similaire à la base de données Model de SQL Server et à l’emplacement par défaut, modifiez la variable str dans le code :
str = "CREATE DATABASE MyDatabase"

References

Pour plus d’informations sur les objets ADO.NET et la syntaxe, consultez Accès aux données avec ADO.NET.