SOL9 2.0 Sample: CreateDatabaseApplet

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * CreateDatabaseApplet.cpp 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/06/01
// Assumes that environment of SQL Server 2008 and SQLClient1.0 

/*
CREATE TABLE Person
(
UserId int,
Telephone varchar(128),
Email varchar(255),
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City    varchar(255));
*/

#include <sol/sql/ADOApplet.h>

namespace SOL {

/**
 * ADO applet subclass derived from SOL::ADOApplet class.
 */
class CreateDatabaseApplet: public ADOApplet {

public:
    /**
     * Constructor
     */
    CreateDatabaseApplet(int argc, const TCHAR** argv)
        :ADOApplet(argc, argv)
    {
    }

public:
    ~CreateDatabaseApplet()
    {
    }

private:
    void executeSql(__in ADOConnection& connection, __in _bstr_t& sql)
    {
        try {            
            ADORecordset recordset;
            connection.execute(sql, recordset);
            printf("OK, executeSql: connection.execute(\"%S\")\n", (const wchar_t*)sql);
        } catch (_com_error& e) {
            COMError error(e);
            error.dump();
        }
    }

private:
    void executeSql(__in ADOConnection& connection, __in _bstr_t& sql, __out ADORecordset& recordset)
    {
        try {            
            connection.execute(sql, recordset);
            printf("OK, executeSql: connection.execute(\"%S\")\n", (const wchar_t*)sql);
        } catch (_com_error& e) {
            COMError error(e);
            error.dump();
        }
    }

public:
    /**
     * CreateDatabaseApplet main procedure
     */
    virtual void run()
    {
        printf("1 Start\n");
        ADOConnection connection = getConnection();

        _bstr_t database = "Solarsystem";

        _bstr_t dropDatabase = "Drop Database " + database ;

        _bstr_t createDatabase = "Create Database " + database;

        _bstr_t useDatabase = "Use " + database;

        _bstr_t createTable = "Create Table XUser (\n"
                " ID int not NULL primary key,\n"
                " Name varchar(255) not NULL,\n"
                " Email varchar(255),\n"
                " MobilePhone varchar(128),\n"
                " Age   int,\n"
                " Birthday  Date,\n"
                " Salary smallmoney, \n"
                " Updated DateTime)\n";

        _bstr_t insertSql = "Insert into XUser(ID, Name, Email, Updated)\n"
                " Values(100, 'someone', 'someone@solarsystemlaboratory.com@earth.sol', GETDATE())";

        _bstr_t selectSql = "Select * from XUser";

        executeSql(connection, dropDatabase);

        executeSql(connection, createDatabase);

        executeSql(connection, useDatabase);

        executeSql(connection, createTable);

        executeSql(connection, insertSql);

        ADORecordset recordset;
        executeSql(connection, selectSql, recordset);

        recordset.dump();

        printf("2 End\n");

    }
};

}

// Console application starts here.
void _tmain(int argc, const TCHAR** argv)
{
    try {
        CreateDatabaseApplet applet(argc, argv);
    
        applet.start();

    } catch (Exception& ex){
        ex.dump();
    } catch (...) {
        printf("Exception:Unknown\n");
    }
}


Last modified: 11 Nov 2009

Copyright (c) 2009 Antillia.com ALL RIGHTS RESERVED.