Delen via


Een SQL Server Database programmatisch maken met behulp van ADO.NET en Visual C++ .NET

In dit artikel wordt beschreven hoe u een SQL Server Database programmatisch maakt met behulp van ADO.NET en Visual C++ .NET.

Oorspronkelijke productversie: Visual C++
Oorspronkelijk KB-nummer: 307402

Voorstellen

Dit artikel verwijst naar de volgende Microsoft .NET Framework Class Library-naamruimten:

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

Samenvatting

Programmeurs moeten vaak programmatisch databases maken. In dit artikel wordt beschreven hoe u ADO.NET en Visual C++ .NET gebruikt om programmatisch een Microsoft SQL Server-database te maken.

Stappen voor het maken van het voorbeeld

  1. Start Microsoft Visual Studio .NET en maak een nieuw beheerd C++-toepassingsproject. Form1 wordt standaard toegevoegd aan het project.

  2. Voeg de volgende code toe vóór uw Main functiedefinitie:

    #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. Voeg de volgende code toe in uw Main functie:

    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. Wijzig de verbindingsreeks zodat deze verwijst naar uw SQL Server en zorg ervoor dat het argument Database is ingesteld op Master of leeg.

  5. Druk op F5 of de toetsencombinatie Ctrl+F5 om het project uit te voeren. Druk op C en druk vervolgens op Enter om de database te maken.

  6. Gebruik Server Explorer om te controleren of de database is gemaakt.

Aanvullende opmerkingen

  • Met deze code maakt u een aangepaste database met specifieke eigenschappen.
  • De map met de gemaakte .mdf- en LDF-bestanden moet al bestaan voordat u de code uitvoert of er een uitzondering wordt gegenereerd.
  • Als u een database wilt maken die vergelijkbaar is met de modeldatabase van SQL Server en op de standaardlocatie, wijzigt u de str-variabele in de code:
str = "CREATE DATABASE MyDatabase"

Verwijzingen

Zie Accessing Data with ADO.NET voor meer informatie over ADO.NET objecten en syntaxis.