#include <string>
#include <iostream>
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <sqlucode.h> int main()
{ HENV henv;
RETCODE ret;
ret = ::SQLAllocEnv(&henv);
if(ret != SQL_SUCCESS)
{
std::cout << "alloc henv failed!" << std::endl;
return -;
}
HDBC hdbc;
ret = SQLAllocConnect(henv, &hdbc);
if(ret != SQL_SUCCESS)
{
std::cout << "alloc hdbc failed!" << std::endl;
return -;
} ret = SQLConnect(hdbc, (SQLCHAR *)("ORCL"),
,
(SQLCHAR *)("scott"),
,
(SQLCHAR *)("tiger"),
);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "connect failed!" << ret << std::endl;
return -;
}
HSTMT hstmt;
ret = SQLAllocStmt(hdbc, &hstmt);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "alloc stmt failed!" << std::endl;
return -;
}
SQLExecDirect(hstmt, (UCHAR *)("select * from dept"), SQL_NTS);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "exec failed!" << std::endl;
return -;
}
while( (ret = SQLFetch(hstmt)) != SQL_NO_DATA)
{
std::cout << "row" << std::endl;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"create table provider (sno char(5) primary key,sname char(10) not null,status int,city char(10))", SQL_NTS);
if(ret<)
{
std::cout<<"creat errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S1','精益','20','天津')",SQL_NTS);
if(ret<)
{
std::cout<<"s1 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S2','西方','30','上海')",SQL_NTS);
if(ret<)
{
std::cout<<"s2 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S3','邦飞','22','成都')",SQL_NTS);
if(ret<)
{
std::cout<<"s3 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"select sname, city FROM provider where sno='s1'", SQL_NTS);
if(ret<)
{
std::cout << "Executing statement throught ODBC errors." << std::endl;
return -;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"update provider set sname='浩瀚' where sno='s2'", SQL_NTS);
if(ret<)
{
std::cout <<" update s2 name error" << std::endl;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"drop table provider", SQL_NTS);
if(ret<)
{
std::cout << "drop table provider error." << std::endl;
return -;
} std::cout << "done!" << std::endl;
return ;
}

[solaris]odbc-oracle,简单测试的更多相关文章

  1. ORACLE 数据库简单测试

    ORACLE 数据库简单测试 操作系统:Windows 7 – ORACLE:oracle database 10.2.0.4 一.目的 测试 启动监听程序.数据库  非同一个用户的情况,用户是否可以 ...

  2. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  3. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  4. Oracle DG测试failover和后续恢复报告

    Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...

  5. [20190423]简单测试latch nowilling等待模式.txt

    [20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...

  6. [20190211]简单测试端口是否打开.txt

    [20190211]简单测试端口是否打开.txt --//昨天看一个链接,提到如果判断一个端口是否打开可以简单执行如下:--//参考链接:https://dba010.com/2019/02/04/c ...

  7. TODO:Golang UDP连接简单测试慎用Deadline

    TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...

  8. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...

  10. Javascript的简单测试环境

    在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具 ...

随机推荐

  1. 实现一个Memcpy函数:将源指针所指的区域从起始地址开始的n个字节复制到目的指针所指区域

    首先肯定要先看看这两部分是不是有内存重叠?为什么? 1.因为如果有内存重叠(目的地址起始位置处于源指针所指区域之中),你再从起始位置复制的话,这样目的地址改变的时候将源地址内存里面存的东西给改变了,所 ...

  2. iOS项目生成通用Windows应用

    WinObjc - 使用iOS项目生成通用Windows应用   Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布 ...

  3. SQL Server 锁的 8 种类型

    第1种. 共享锁.由读取查寻产生. 第2种. 意向锁.用意向锁来表示有将要获得某一资源的意向. 第3种. 更新锁.在修改数据前获得. 第4种. 排它锁.用于独占某一资源时获得. 第5种. 架构锁.运行 ...

  4. USB Mass Storage协议分析

    目录 简介 指令数据和状态协议 CBW指令格式 CSWCommand Status Wrapper状态格式 SCSI命令集 Format Unit Inquiry MODE SELECT 简介 USB ...

  5. BCB的博客,以及例子(好多传输文件的例子)

    http://blog.csdn.net/keyu1711/ http://download.csdn.net/user/keyu1711 http://download.csdn.net/user/ ...

  6. Mysql ORM工具--MicrobeORM.Mysql开源咯

    MicrobeORM.Mysql 补充:为啥批批量比官方的ADO.NET还快,原因是这俩货 System.EnterpriseServices.dllSystem.EnterpriseServices ...

  7. 数据挖掘之分类算法---knn算法(有matlab例子)

    knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法.注意,不是聚类算法.所以这种分类算法 必然包括了训练过程. 然而和一般性的分类算法不同,knn算法是一种懒 ...

  8. hdu 2157 How many ways_ 矩阵快速幂

    题意:略 直接矩阵乘法就行了 #include <iostream> #include<cstdio> #include<cstring> using namesp ...

  9. java中如何将char数组转化为String

    1.直接在构造String时建立. char data[] = {'s', 'g', 'k'}; String str = new String(data); 2.String有方法可以直接转换. S ...

  10. nyoj 325 zb的生日(dfs)

    描述今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb ...