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
Eine Microsoft Visual Basic .NET-Version dieses Artikels finden Sie unter "Programmgesteuertes Erstellen einer SQL Server-Datenbank mithilfe von ADO.NET und Visual Basic .NET".
Eine Microsoft Visual C# .NET-Version dieses Artikels finden Sie unter How To Create a SQL Server Database Programmatically by Using ADO.NET and Visual C# .NET.
Dieser Artikel bezieht sich auf die folgenden Namespaces der Microsoft .NET Framework-Klassenbibliothek:
SystemSystem.DataSystem.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
Starten Sie Microsoft Visual Studio .NET, und erstellen Sie ein neues Verwaltetes C++-Anwendungsprojekt.
Form1wird dem Projekt standardmäßig hinzugefügt.Fügen Sie vor der
MainFunktionsdefinition 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;Fügen Sie der Funktion den folgenden Code
Mainhinzu: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; }Ä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.
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.
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.