ACCI编程示例

完整执行ACCI应用程序的简单示例

//包含头文件

#include <acci.h>

//命名空间

using namespace shentong::acci;

//主函数

int main()

{

    try

    {

            //创建环境

            Environment *env = NULL;

            env = Environment::createEnvironment();


            //连接信息

            string user = "SYSDBA";

            string pwd = "szoscar55";

            string link = "127.0.0.1:2003/osrdb";

            //建立连接

            Connection *conn = env->createConnection(user, pwd, link);


            //准备SQL语句

            string csql = "create table accitest (a varchar(50),b varchar(50),c varchar(50))";

            string dsql = "drop table accitest";

            string test_sql = "select * from accitest";


            //创建语句对象

            Statement *stmt = conn->createStatement();


            //删表

            stmt->setSQL(dsql);

            stmt->execute();


            //建表

            stmt->setSQL(csql);

            stmt->execute();

            //插入数据

            stmt->setSQL("insert into accitest values (:1,:2,:3)");

            stmt->setString(1, "123");

            stmt->setString(2, "ABC");

            stmt->setString(3, "甲乙丙");

            stmt->execute();


            //查询并返回结果集

            ResultSet *rs = stmt->executeQuery("select * from accitest");

            //处理结果集中的数据

            while (rs->next())

            {

                    string i = rs->getString(1);

                    string j = rs->getString(2);

                    string k = rs->getString(3);

            }


            //释放资源

            stmt->closeResultSet(rs);//关闭结果集

            conn->terminateStatement(stmt);//终止语句对象

            env->terminateConnection(conn);//终止连接对象

            Environment::terminateEnvironment(env);//释放环境资源

    }


    catch (SQLException &e)

    {

            cout << e.getMessage() << endl;

    }

}