proc在的程序如果我直接写成控制台程序,那么只要用proc 编译成.c 文件,然后用cl my.c orasql8.lib编译即可,
可是如何用在VC下做成有界面的程序呢,上次我问了后,
有位朋友告诉我这样做就可以了:
可是我按它做的,orasql8.lib我已经链接了,但总是有编译不通过,报告的错误如下,请大家帮帮我,不胜感激!
D:\Project\MyProject\SOURCE\testProc\proc.cpp(173) : error C2275: 'sqlca' : illegal use of this type as an expression
        d:\progra~1\sqllib\include\sqlca.h(48) : see declaration of 'sqlca'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(210) : error C2143: syntax error : missing ')' before '.'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(210) : error C2143: syntax error : missing ';' before '.'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(210) : error C2059: syntax error : ')'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(214) : error C2143: syntax error : missing ')' before '.'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(214) : error C2143: syntax error : missing ';' before '.'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(214) : error C2059: syntax error : ')'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(215) : error C2143: syntax error : missing ';' before '{'
D:\Project\MyProject\SOURCE\testProc\proc.cpp(219) : error C2181: illegal else without matching if
-------------------------------------
下面的程序是那位朋友告诉我的
联结数据库的PRO*C 源程序例子。#include < sqlca.h > //声明SQL通讯区
#include < string.h >
#include < afxwin.h >
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20]; //声明宿主变量
VARCHAR password[20];
VARCHAR dbname[20];
EXEC SQL END DECLARE SECTION;
void db_connect()
{
strcpy((char *)username.arr,"SCOTT");
username.len = strlen((char *)username.arr);
strcpy((char *)password.arr,"TIGER");
password.len = strlen((char *)password.arr);
strcpy((char *)dbname.arr,"SUNDB");
dbname.len = strlen((char *)dbname.arr);
EXEC SQL WHENEVER SQLERROR STOP; //隐式异常处理
EXEC SQL CONNECT :username 
IDENTIFIED BY :password USING :dbname;
/*if (sqlca.sqlcode != 0) //显式异常处理
{
AfxMessageBox("\n与Oracle数据库连接失败!"); 
return;
}*/
}
在VC 中使用PRO*C 时,先用PRO*C 编写所需的操作数据库的子程序,
再运行PRO*C 预编译程序把PRO*C 源程序转成相应的CPP 源程序,
将该程序插入到用户工程文件中并在需要对插入函数进行调用的模块中说明函数,
然后就可以在此模块中调用所需的函数。

解决方案 »

  1.   

    关注,
    很可惜帮不上你!!
    我想学pro*c但不知从何学起?
    另外请问如何配制oracle8.15支持pro*c和vc60又怎样配制?
    谢谢!!
      

  2.   

    你只要在安装ORACLE的时候,选择工具里面的开发工具就可以支持PROC了,具体的名字我忘了,大概是这个名字,
    安装好了后,写一个简单的以pc为后缀的文件,如my.pc,
    在命令行方式下c:>proc my.pc 产生my.c
    然后在命令行方式下c:>cl my.c  orasql8.lib即可!
    如果你要proc 的文档的话,网上很多地方都有 oracle 安装目录下的precomp/demo里面的例子很好!
      

  3.   

    你没有说明SQL通讯区
    EXEC SQL INCLUDE SQLCA;