Partager via


Créer une base de données SQL Server par programmation à l’aide de 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 du produit d’origine : Visual C++
Numéro de 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 doivent souvent 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é. 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 l’chaîne de connexion pour pointer vers votre serveur SQL Server et vérifiez 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 appuyez sur Entrée pour créer la base de données.

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

Remarques 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 doivent déjà exister avant d’exécuter le code ou une exception sera généré.
  • 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 et la syntaxe ADO.NET, consultez Accès aux données avec ADO.NET.