我被PRO*C弄得焦头烂额,马上给分

zhuliangsu 2003-09-30 09:30:31

int getlotstatus(char *theLotId)
{
char alotstatus[2];

EXEC SQL
SELECT lotstate
INTO
:alotstatus
FROM LOT
WHERE LOTID=:theLotId;

return 0;
}

以上是MY.PC文件

我在命令行执行:
proc iname=my.pc

结果:
Pro*C/C++: Release 8.1.7.0.0 - Production on 星期二 9月 30 09:17:18 2003

(c) Copyright 2000 Oracle Corporation. All rights reserved.

系统默认选项值取自于: C:\Oracle\Ora81\precomp\admin\pcscfg.cfg

在第 8 行,第 13 列,文件 D:\00_CCode\PRO_C\st_3.pc 有语义错误:
:alotstatus
............1
PCC-S-02322, 找到未定义的标识符
在第 10 行,第 22 列,文件 D:\00_CCode\PRO_C\st_3.pc 有语义错误:
WHERE LOTID=:theLotId;
.....................1
PCC-S-02322, 找到未定义的标识符

C:\>
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuliangsu 2003-09-30
  • 打赏
  • 举报
回复
可是
我的MY.PC在UNIX中的PRO*C中编译成功
上面是在WIN中的PRO*C中编译不成功


hdkkk 2003-09-30
  • 打赏
  • 举报
回复
好像proc需要一个make文件的
OneNight 2003-09-30
  • 打赏
  • 举报
回复
还有,那个个参数不能直接用到select语句里面的,要转换成varchar类型.
OneNight 2003-09-30
  • 打赏
  • 举报
回复
这样定义试试:
EXEC SQL BEGIN DECLARE SECTION;
char alotstatus[2];
EXEC SQL END DECLARE SECTION;

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧