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

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

Originalversion des Produkts:   Visual C++
Ursprüngliche KB-Nummer:   307402

Einzuführen

Dieser Artikel bezieht sich auf die folgenden Namespaces der Microsoft .NET Framework-Klassenbibliothek:

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

Zusammenfassung

Programmierer müssen datenbanken häufig programmgesteuert erstellen. In diesem Artikel wird beschrieben, wie Sie mit ADO.NET und Visual C++ .NET programmgesteuert eine Microsoft SQL Server-Datenbank erstellen.

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 vor der Main Funktionsdefinition den folgenden Code 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 der Funktion den folgenden Code Main 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 Ihre 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 dann die EINGABETASTE, um die Datenbank zu erstellen.

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

Zusätzliche Hinweise

  • Mit diesem Code wird eine benutzerdefinierte Datenbank mit bestimmten Eigenschaften erstellt.
  • Der Ordner, der die erstellten MDF- und LDF-Dateien enthält, muss bereits vorhanden sein, bevor Sie den Code ausführen. Andernfalls wird eine Ausnahme generiert.
  • 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.