s21_02.cpp

来自「本书分为五个部分」· C++ 代码 · 共 67 行

CPP
67
字号
// 这是使用应用程序向导生成的 VC++ 
// 应用程序项目的主项目文件。

#include "stdafx.h"

#using <mscorlib.dll>
#include <tchar.h>

// 显示引用命名空间
#using <System.dll>
#using <System.Data.dll>
using namespace System;
using namespace System::Data;
using namespace System::Data::SqlClient;
using namespace System::Data::OleDb;

// 这是此应用程序的入口点
int _tmain(void)
{
    String* input;
    // 通用接口
    IDbConnection __gc* myConn;
    IDbCommand __gc* myCommand;
    IDataReader __gc* myReader;
    // 通用字符串
    String* SqlConnString = S"Data Source=localhost;" \
        S"Initial Catalog=northwind;Integrated Security=SSPI;";
    String* OledbConnString = S"Provider=SQLOLEDB;" \
        S"Data Source=localhost;Initial Catalog=northwind;" \
        S"Integrated Security=SSPI;";
    String* SqlQuery = 
        S"SELECT CategoryID, CategoryName FROM Categories";

    // 选择使用的数据提供程序
    Console::Write(S"Which provider do you want to use?(1-OleDb;2-Sql): ");
    input = Console::ReadLine();
    if( input->Equals(S"1") )
    {
        Console::WriteLine(S"\nUsing the OLE DB .NET Provider.");
        myConn = new OleDbConnection(OledbConnString);
    }
    else
    {
        Console::WriteLine("\nUsing the SQL Server .NET Provider.");
        myConn = new SqlConnection(SqlConnString);
    }

    // 创建提供程序对象
    myCommand = myConn->CreateCommand();
    myCommand->CommandText = SqlQuery;
    myConn->Open();
    myReader = myCommand->ExecuteReader();

    // 遍历DataReader对象以获取数据
    while( myReader->Read() ) 
    {
        Console::WriteLine("\t{0}\t{1}", 
            myReader->GetInt32(0).ToString(), 
            myReader->GetString(1));
    }

    // 关闭DataReader对象
    myReader->Close();

    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?