ADO.NET と Visual C++ .NET を使用してプログラムでSQL Server データベースを作成する

この記事では、ADO.NET と Visual C++ .NET を使用してプログラムによってSQL Server データベースを作成する方法について説明します。

元の製品バージョン:   Visual C++
元の KB 番号:   307402

紹介

この記事では、次の Microsoft .NET Framework クラス ライブラリ名前空間について説明します。

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

概要

プログラマは多くの場合、プログラムでデータベースを作成する必要があります。 この記事では、ADO.NET と Visual C++ .NET を使用してプログラムでMicrosoft SQL Server データベースを作成する方法について説明します。

サンプルを作成する手順

  1. .NET Microsoft Visual Studio開始し、新しいマネージド 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を指すように変更し、Database 引数が Master または blank に設定されていることを確認します。

  5. F5 キーまたは Ctrl + F5 キーの組み合わせを押してプロジェクトを実行します。 C キーを押し、Enter キーを押してデータベースを作成します。

  6. サーバー エクスプローラーを使用して、データベースが作成されたことを確認します。

追加情報

  • このコードは、特定のプロパティを持つカスタム データベースを作成します。
  • 作成した .mdf ファイルと .ldf ファイルを保持するフォルダーは、コードを実行する前に既に存在している必要があります。例外が生成されます。
  • SQL Serverの Model データベースに似たデータベースを既定の場所に作成する場合は、コード内の str 変数を変更します。
str = "CREATE DATABASE MyDatabase"

関連情報

ADO.NET オブジェクトと構文の詳細については、「 ADO.NET を使用したデータへのアクセス」を参照してください。