Criar um Banco de Dados SQL Server programaticamente usando ADO.NET e Visual C++ .NET

Este artigo mostra como criar um banco de dados SQL Server programaticamente usando ADO.NET e Visual C++ .NET.

Versão original do produto: Visual C++
Número de KB original: 307402

Apresentar

Este artigo refere-se aos seguintes namespaces da Biblioteca de Classes da Microsoft .NET Framework:

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

Resumo

Os programadores geralmente precisam criar bancos de dados de forma programática. Este artigo descreve como usar ADO.NET e o Visual C++ .NET para criar programaticamente um banco de dados do Microsoft SQL Server.

Etapas para criar o exemplo

  1. Inicie o Microsoft Visual Studio .NET e crie um novo projeto de aplicativo C++ gerenciado. Form1 é adicionado ao projeto por padrão.

  2. Adicione o seguinte código antes da definição da Main função:

    #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. Adicione o seguinte código em sua Main função:

    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. Altere o cadeia de conexão para apontar para seu SQL Server e verifique se o argumento Banco de Dados está definido como Mestre ou em branco.

  5. Pressione a tecla F5 ou a combinação de teclas CTRL+F5 para executar o projeto. Pressione C e pressione ENTER para criar o banco de dados.

  6. Use o servidor Explorer para verificar se o banco de dados foi criado.

Observações adicionais

  • Esse código cria um banco de dados personalizado com propriedades específicas.
  • A pasta que manterá os arquivos .mdf e .ldf criados já deve existir antes de executar o código ou uma exceção será gerada.
  • Se você quiser criar um banco de dados semelhante ao banco de dados Model do SQL Server e no local padrão, altere a variável str no código:
str = "CREATE DATABASE MyDatabase"

Referências

Para obter mais informações sobre ADO.NET objetos e sintaxe, consulte Acessando dados com ADO.NET.