PRO *C的一点疑问
时间:2011-12-22
来源:互联网
int Loader(char date)
{
EXEC SQL BEGIN DECLARE SECTION;
int i;
int iCount=0;
char szSQL[1024];
char szErr[512];
struct tagltNumFile ltNumFile;
EXEC SQL END DECLARE SECTION;
sprintf(szSQL,"select num, file_name, user from t_file_info where date='%s'",date); /*201110*/
EXEC SQL PREPARE S1 FROM :szSQL;
EXEC SQL DECLARE lt_Cur CURSOR for S1;
EXEC SQL OPEN lt_Cur;
for(int i=0;;++i)
{
EXEC SQL FETCH lt_Cur INTO :ltNumFile;
if(sqlca.sqlcoe!=0) break;
}
}
错误:
Semantic error at line 114, column 34, file filenamefx_97.pc:
EXEC SQL FETCH lt_Cur INTO :ltNumFile;
.................................1
PCC-S-02420, Incomplete (or missing) type specification
编译:
proc CODE=CPP SQLCHECK=SEMANTICS userid=user/user@fn_0911 lines=yes iname=filenamefx_97.pc oname=filenamefx_97.c SYS_INCLUDE=/usr/include/c++/4.1.0/ parse=none
作者: Linux_wlj 发布时间: 2011-12-22

作者: cbzjzsb123 发布时间: 2011-12-22
int Loader(char date)//参数为什么不用char* date { EXEC SQL BEGIN DECLARE SECTION; int i; int iCount=0; char szSQL[1024]; char szErr[512]; struct tagltNumFile ltNumFile; EXEC SQL END DECLARE SECTION; //将缓冲区清空 memset(szSQL, 0x00, sizeof(szSQL)); memset(szErr, 0x00, sizeof(szErr)); sprintf(szSQL,"select num, file_name, user from t_file_info where date='%s'",date); /*201110*/ EXEC SQL PREPARE S1 FROM :szSQL; EXEC SQL DECLARE lt_Cur CURSOR for S1; EXEC SQL OPEN lt_Cur; for(int i=0;;++i) { EXEC SQL FETCH lt_Cur INTO :ltNumFile; //sql语句中取出了3列,而这里的into后 //面只有一个变量,当然报错 if(sqlca.sqlcoe!=0) break; } }
作者: lelewei 发布时间: 2011-12-22
C/C++ code
int Loader(char date)//参数为什么不用char* date
{
EXEC SQL BEGIN DECLARE SECTION;
int i;
int iCount=0;
char szSQL[1024];
char szErr[512];
struct tagltNumFile ltNumFile;
EXEC SQL END DECLAR……
ltNumFile 是个结构体,对应 select 查询出的三列内容!
作者: Linux_wlj 发布时间: 2011-12-22
引用 2 楼 lelewei 的回复:
C/C++ code
int Loader(char date)//参数为什么不用char* date
{
EXEC SQL BEGIN DECLARE SECTION;
int i;
int iCount=0;
char szSQL[1024];
char szErr[512];
struct tagltNumFile l……
作者: lelewei 发布时间: 2011-12-22
那你应该把自定义类型和oracle(外部)数据类型进行等价。用type语句。
引用 3 楼 linux_wlj 的回复:
引用 2 楼 lelewei 的回复:
C/C++ code
int Loader(char date)//参数为什么不用char* date
{
EXEC SQL BEGIN DECLARE SECTION;
int i;
int iCoun……
可以给下代码么?谢谢!刚开始学习
作者: Linux_wlj 发布时间: 2011-12-22
C/C++ code
fetch into :ltNumFile.a, :ltNumFile.b, :ltNumFile.c;....
引用 4 楼 lelewei 的回复:
那你应该把自定义类型和oracle(外部)数据类型进行等价。用type语句。
引用 3 楼 linux_wlj 的回复:
引用 2 楼 lelewei 的回复:
C/C++ code
int Loader(char date)//参数为什么不用char* date
{
EXEC SQL BEGIN DECLARE SECT……
作者: lelewei 发布时间: 2011-12-22
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28