Creare un database SQL Server a livello di codice usando ADO.NET e Visual C++ .NET

Questo articolo illustra come creare un database SQL Server a livello di codice usando ADO.NET e Visual C++ .NET.

Versione originale del prodotto: Visual C++
Numero KB originale: 307402

Introdurre

Questo articolo fa riferimento agli spazi dei nomi della libreria di classi di Microsoft .NET Framework seguenti:

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

Riepilogo

I programmatori spesso devono creare database a livello di codice. Questo articolo descrive come usare ADO.NET e Visual C++ .NET per creare a livello di codice un database microsoft SQL Server.

Passaggi per creare l'esempio

  1. Avviare Microsoft Visual Studio .NET e creare un nuovo progetto di applicazione C++ gestita. Form1 viene aggiunto al progetto per impostazione predefinita.

  2. Aggiungere il codice seguente prima della definizione della Main funzione:

    #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. Aggiungere il codice seguente nella Main funzione:

    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. Modificare la stringa di connessione in modo che punti alla SQL Server e assicurarsi che l'argomento Database sia impostato su Master o vuoto.

  5. Premere il tasto F5 o la combinazione di tasti CTRL+F5 per eseguire il progetto. Premere C e quindi premere INVIO per creare il database.

  6. Usare Esplora server per verificare che il database sia stato creato.

Note aggiuntive

  • Questo codice crea un database personalizzato con proprietà specifiche.
  • La cartella che conterrà i file .mdf e ldf creati deve già esistere prima di eseguire il codice o verrà generata un'eccezione.
  • Se si vuole creare un database simile al database Model di SQL Server e nel percorso predefinito, modificare la variabile str nel codice:
str = "CREATE DATABASE MyDatabase"

Riferimenti

Per altre informazioni su ADO.NET oggetti e sintassi, vedere Accesso ai dati con ADO.NET.