鱼C论坛

 找回密码
 立即注册
查看: 2102|回复: 2

這樣的代碼要用什麽編譯器編譯 VC6.0 和V都不行

[复制链接]
发表于 2014-6-5 16:54:07 | 显示全部楼层 |阅读模式
10鱼币
#include <stdio.h>
#ifdef _WIN32
        #define DLLIMPORT __declspec(dllimport)
        #define DLLEXPORT __declspec(dllexport)
        #define CDECL __cdecl
#else
        #define DLLIMPORT
        #define DLLEXPORT
        #define CDECL
#endif
#define SQLCA_STORAGE_CLASS extern
/*SQL没有记录的返回值*/
#define SQLNOTFOUND 1403
/*Pro C必须在每一个程序中写的语句,SQLCA的大小写必须所有程序一致*/
EXEC SQL INCLUDE SQLCA;
EXEC ORACLE OPTION (RELEASE_CURSOR = YES); /*该语句可以在Makefile中写*/
/*有了下面的定义,就不需要进行变量类型的等价了VAR IS STRING()*/
EXEC ORACLE OPTION (CHAR_MAP = STRING); /*该语句可以在Makefile中写*/
void main()
{
  /*声明需要在SQL语句中使用的变量,这些变量在非SQL中也能使用*/
  EXEC SQL BEGIN DECLARE SECTION;

        char szCodeName[41] = ""; /*CHAR变量的长度必须比数据库中大1*/
  /*对VARCHAR类型必须进行等价说明,否则可能有空格,或设置CHAR_MAP=STRING*/
        EXEC SQL VAR szCodeName IS STRING(41);
  /*指示变量,必须是short int 类型,*/
  short int indCodeName = 0;
  /*与EXEC SQL BEGIN DECLARE SECTION;成对使用*/
  EXEC SQL END DECLARE SECTION;
  /*也可以不需要EXEC SQL BEGIN /END DECLARE SECTION;,在编译上控制*/
  strcpy(szConnectString,"
jifei/jifei@jifei");
  /*连接数据库*/
        EXEC SQL connect :szConnectString;
  /*或EXEC SQL CONNECT :szUser IDENTIFIED BY :szPassword using :szDBString;*/
  if (sqlca.sqlcode !=0) /*判断SQL语句是否执行成功*/
  {
   printf("Connect Error , Error Message : %s\n",sqlca.sqlerrm.sqlerrmc);
   exit(0);
  }
        EXEC SQL select code_name into :szCodeName
          from CODE_NAME where rownum = 1;
  if (sqlca.sqlcode < 0) /*判断SQL语句是否执行成功*/
  {
   printf("Connect Error , Error Message : %s\n",sqlca.sqlerrm.sqlerrmc);
   EXEC SQL rollback work release;
   exit(0);
  }
  if (sqlca.sqlcode == SQLNOTFOUND) /*没有结果,必须用SQLNOTFOUND,不要直接用1403*/
  {
   printf("No Data to Fetch\n");
   EXEC SQL rollback work release;
   exit(0);
  }
        printf("Code_Name = %s.\n",szCodeName);
  /*提交并断开连接*/
        EXEC SQL commit work release;
}

最佳答案

查看完整内容

这是Oracle的Pro*C编程,在Windows的VS中需要进行Pro* C相关配置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-5 16:54:08 | 显示全部楼层
这是Oracle的Pro*C编程,在Windows的VS中需要进行Pro* C相关配置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-9 12:09:22 | 显示全部楼层

能說一下大概步驟么? 我想用VC或者VS實現 ODBC數據庫編程該怎麼做? 或者有什麽書集能學到相關方面資料?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 10:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表