• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

例子一则

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 29次 | 进入软件测试论坛讨论

领测软件测试网 用informix object interface 写了一个小程序,执行一条简单的查询语句.提供了makefile和mysample.cpp源码,有兴趣的可以试试.

//  Title: mysample.cpp
//  Description:
//  Submit simple query example with error handling and
//  transaction monitoring

#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <it.h>

ITCallbackResult my_error_handler(const ITErrorManager &errorobject,void *userdata,long errorlevel)
{
    // Cast the user data into a stream
    ostream *stream = (ostream *) userdata;
    (*stream) << "my_error_handler: errorlevel="
       << errorlevel
       << " sqlstate="
              << errorobject.SqlState()
              << ' '
              << errorobject.ErrorText()
              << endl;
    return IT_NOTHANDLED;
}

int main(int, char *)
{
    // Make a connection using defaults     
    ITConnection conn;
    conn.Open();

    // Create a query object
    ITQuery query(conn);
    char qtext[1024];

    // Add the callback handler
    query.AddCallback(my_error_handler, (void *) &cerr);

   
    sprintf(qtext,"select * from sd_pkinfo");       
 
    if (!query.ExecForIteration(qtext))
      {
          cout << "Could not execute query: " << qtext << endl;
       }
     else
       {
           ITRow *row;
           int rowcount = 0;
           while ((row = query.NextRow()) != NULL)
           {
               rowcount++;
               cout << row->Printable() << endl;
               row->Release();
           }
           cout << rowcount << " rows received, Command:"<< query.Command() << endl;
        }


    conn.Close();
    cout << endl;

    return 0;
}

------------------------------------------cut here----------------------------------------------------------

#
#      INFORMIX SOFTWARE, INC.
#
#         PROPRIETARY DATA
#
# THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF
# INFORMIX SOFTWARE, INC.  THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN
# CONFIDENCE.  INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR
# DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT
# SIGNED BY AN OFFICER OF INFORMIX SOFTWARE, INC.
#
# THIS MATERIAL IS ALSO COPYRIGHTED AS AN UNPUBLISHED WORK UNDER
# SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE.
# UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED BY LAW.
#
# Title: Makefile
#
# Description:
# This Makefile can be used to build C++ Interface examples on Solaris.
# It assumes INFORMIXDIR is set.
#

CPPIFDIR = $(INFORMIXDIR)

CCHOME  = /opt/aCC

CCPP  = $(CCHOME)/bin/aCC
CCPLUS  = $(CCPP) $(HEADEROPTS)
CCFLAGS  = +DS2.0 +DA2.0W -g $(CCDEFS)
CCPPFLAGS  = -I$(INFORMIXDIR)/incl/public -I$(INFORMIXDIR)/incl -I$(INFORMIXDIR)/incl/esql
CCPLINK  = $(CCPLUS) $(CCFLAGS) $(CCPPFLAGS)
CC  = /opt/ansic/bin/cc
C-COMPILE-FLAGS = $(CCFLAGS)

CCDEFS  = -ext -D__STDCPP__ -DMITRACE_OFF -DIT_HAS_DISTINCT_LONG_DOUBLE -DIT_COMPILER_HAS_LONG_LONG -D_PROTOTYPES -DIT_DO_NOT_SIMULATE_BOOL +Z


RANLIB  = echo
RM  = rm -f

ESQL            = $(INFORMIXDIR)/bin/esql

LOCALINCL = -I$(CPPIFDIR)/incl/c++

LIBS_SYSTEM = -lm -lcl -lsec

LIBS_ESQL = -L$(INFORMIXDIR)/lib/esql -L$(INFORMIXDIR)/lib -lifsql  -lifasf -lifgen -lifos -lifgls -lifglx $(INFORMIXDIR)/lib/esql/checkapi.o
LIBS_LIBMI = -L$(INFORMIXDIR)/lib/dmi -lifdmi
LIBS_CPPIF = -L$(CPPIFDIR)/lib/c++ -lifc++
LIBS  = $(LIBS_CPPIF) $(LIBS_LIBMI) $(LIBS_ESQL) $(LIBS_SYSTEM)

PROGRAMS = mysample

.SUFFIXES: .cc .o .hdr .cpp

.cc.o:
 @rm -f $@
 $(CCPLUS) $(CCFLAGS) $(LOCALINCL) $(CCPPFLAGS) -c $<

.cpp.o:
 @rm -f $@
 $(CCPLUS) $(CCFLAGS) $(LOCALINCL) $(CCPPFLAGS) -c $<

all:  $(PROGRAMS)

setup: all


blobload: blobload.ec
 $(ESQL) blobload.ec -o blobload

mysample: mysample.o
 $(CCPLINK) -o mysample mysample.o $(SUBSYSTEMS.link) $(LIBS)

clean:
 $(RM) *.o $(PROGRAMS) core


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网