Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Voor een Microsoft Visual C# .NET-versie van dit artikel raadpleegt u How To Create a SQL Server Database Programmatisch by Using ADO.NET and Visual C# .NET.
Dit artikel verwijst naar de volgende Microsoft .NET Framework Class Library-naamruimten:
SystemSystem.DataSystem.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
Start Microsoft Visual Studio .NET en maak een nieuw beheerd C++-toepassingsproject.
Form1wordt standaard toegevoegd aan het project.Voeg de volgende code toe vóór uw
Mainfunctiedefinitie:#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;Voeg de volgende code toe in uw
Mainfunctie: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; }Wijzig de verbindingsreeks zodat deze verwijst naar uw SQL Server en zorg ervoor dat het argument Database is ingesteld op Master of leeg.
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.
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.