Freigeben über


Programmgesteuertes Erstellen einer SQL Server-Datenbank mithilfe von ADO.NET und Visual C++ .NET

In diesem Artikel wird gezeigt, wie Sie mithilfe von ADO.NET und Visual C++ .NET programmgesteuert eine SQL Server-Datenbank erstellen.

Originalproduktversion: Visual C++
Ursprüngliche KB-Nummer: 307402

Einführen

Dieser Artikel bezieht sich auf die folgenden Microsoft .NET Framework-Klassenbibliotheksnamespaces:

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

Zusammenfassung

Programmierer müssen Datenbanken häufig programmgesteuert erstellen. In diesem Artikel wird beschrieben, wie Sie ADO.NET und Visual C++ .NET zum programmgesteuerten Erstellen einer Microsoft SQL Server-Datenbank verwenden.

Schritte zum Erstellen des Beispiels

  1. Starten Sie Microsoft Visual Studio .NET, und erstellen Sie ein neues Verwaltetes C++-Anwendungsprojekt. Form1 wird dem Projekt standardmäßig hinzugefügt.

  2. Fügen Sie den folgenden Code vor der Main Funktionsdefinition hinzu:

    #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. Fügen Sie den folgenden Code in Ihrer Main Funktion hinzu:

    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. Ändern Sie die Verbindungszeichenfolge so, dass sie auf Ihren SQL Server verweist, und stellen Sie sicher, dass das Argument "Datenbank" auf "Master" oder "Leer" festgelegt ist.

  5. Drücken Sie F5 oder strg+F5, um das Projekt auszuführen. Drücken Sie C , und drücken Sie dann die EINGABETASTE, um die Datenbank zu erstellen.

  6. Verwenden Sie den Server-Explorer, um zu überprüfen, ob die Datenbank erstellt wurde.

Weitere Hinweise

  • Dieser Code erstellt eine benutzerdefinierte Datenbank mit bestimmten Eigenschaften.
  • Der Ordner, der die erstellten .mdf- und LDF-Dateien enthält, muss bereits vorhanden sein, bevor Sie den Code ausführen oder eine Ausnahme generiert wird.
  • Wenn Sie eine Datenbank erstellen möchten, die der Modelldatenbank von SQL Server und am Standardspeicherort ähnelt, ändern Sie die Str-Variable im Code:
str = "CREATE DATABASE MyDatabase"

References

Weitere Informationen zu ADO.NET Objekten und Syntax finden Sie unter "Zugreifen auf Daten mit ADO.NET".