Поделиться через


Создание базы данных SQL Server программным способом с помощью ADO.NET и Visual C++ .NET

В этой статье показано, как программно создать базу данных SQL Server с помощью ADO.NET и Visual C++ .NET.

Исходная версия продукта: Visual C++
Исходный номер базы знаний: 307402

Представлять

В этой статье рассматриваются следующие пространства имен библиотеки классов Microsoft платформа .NET Framework:

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

Итоги

Программисты часто должны создавать базы данных программным способом. В этой статье описывается, как использовать ADO.NET и Visual C++ .NET для программного создания базы данных Microsoft SQL Server.

Действия по созданию примера

  1. Запустите Microsoft Visual Studio .NET и создайте проект управляемого приложения C++. Form1 по умолчанию добавляется в проект.

  2. Добавьте следующий код перед Main определением функции:

    #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. Добавьте следующий код в Main функцию:

    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. Измените строка подключения, чтобы указать на SQL Server, и убедитесь, что аргумент базы данных имеет значение Master или пусто.

  5. Нажмите клавишу F5 или сочетание клавиш CTRL+F5, чтобы запустить проект. Нажмите клавишу C , а затем нажмите клавишу ВВОД, чтобы создать базу данных.

  6. Используйте обозреватель серверов, чтобы убедиться, что база данных создана.

Дополнительные замечания

  • Этот код создает пользовательскую базу данных с определенными свойствами.
  • Папка, в которую будут храниться созданные .mdf и LDF-файлы, уже должны существовать перед запуском кода или создается исключение.
  • Если вы хотите создать базу данных, аналогичную базе данных модели SQL Server и в расположении по умолчанию, измените переменную str в коде:
str = "CREATE DATABASE MyDatabase"

Ссылки

Дополнительные сведения о ADO.NET объектах и синтаксисе см. в разделе "Доступ к данным с помощью ADO.NET".