大家对使用滚动游标有没有什么经验,我在用的时候碰上了麻烦,求大家帮忙解决
这是部分源程序
内容有点乱,有烦大家了void data()
{
char action;
EXEC SQL DECLARE rolldata_cursor SCROLL CURSOR FOR
SELECT time,temp,strain,strate,stat FROM rolling;
EXEC SQL OPEN rolldata_cursor;
EXEC SQL WHENEVER NOT FOUND DO break;
for(;;)
{
printf("\nF:第一行,p:前一行,N:下一行,L:最后一行");
printf("C:当前行,X:退出\n请输入具体操作:");
scanf("%c",&action);
fflush(stdin);
switch(action)
{
case 'F';
case 'f';
EXEC SQL FETCH FIRST rolldata_cursor INTO :time1,:temp1,:strain1,:strate1,:stat1;
break;
case 'X';
case 'x';
EXEC SQL CLOSE rolldata_cursor;
return;
}
printf("轧制时间:%f,轧制温度:%f,应变:%f,应变速率:%f,状态:%c\n",time1,temp1,strain1,strate1,stat1);
}
EXEC SQL CLOSE rolldata_cursor;}
预编译时出现下面错误:
错误发生在行40,列34,文件D:\程序调试\demo\rolling1\rolldata.pc
EXEC SQL DECLARE rolldata_cursor SCROLL CURSOR FOR
.................................1
PCC-S-02201, 出现符号 "SCROLL"在需要下列之一时:
.@cursor,database,
statement,table,type,partition,
符号 "table," 被替换为 "SCROLL" 后继续。语法错误出现在54行,29列,文件D:\程序调试\demo\rolling1\rolldata.pc:
错误发生在行54,列29,文件D:\程序调试\demo\rolling1\rolldata.pc
EXEC SQL FETCH FIRST rolldata_cursor INTO :time1,:temp1,:strain1,:strate1
,:stat1;
............................1
PCC-S-02201, 出现符号 "rolldata_cursor"在需要下列之一时:
into,using,
这是部分源程序
内容有点乱,有烦大家了void data()
{
char action;
EXEC SQL DECLARE rolldata_cursor SCROLL CURSOR FOR
SELECT time,temp,strain,strate,stat FROM rolling;
EXEC SQL OPEN rolldata_cursor;
EXEC SQL WHENEVER NOT FOUND DO break;
for(;;)
{
printf("\nF:第一行,p:前一行,N:下一行,L:最后一行");
printf("C:当前行,X:退出\n请输入具体操作:");
scanf("%c",&action);
fflush(stdin);
switch(action)
{
case 'F';
case 'f';
EXEC SQL FETCH FIRST rolldata_cursor INTO :time1,:temp1,:strain1,:strate1,:stat1;
break;
case 'X';
case 'x';
EXEC SQL CLOSE rolldata_cursor;
return;
}
printf("轧制时间:%f,轧制温度:%f,应变:%f,应变速率:%f,状态:%c\n",time1,temp1,strain1,strate1,stat1);
}
EXEC SQL CLOSE rolldata_cursor;}
预编译时出现下面错误:
错误发生在行40,列34,文件D:\程序调试\demo\rolling1\rolldata.pc
EXEC SQL DECLARE rolldata_cursor SCROLL CURSOR FOR
.................................1
PCC-S-02201, 出现符号 "SCROLL"在需要下列之一时:
.@cursor,database,
statement,table,type,partition,
符号 "table," 被替换为 "SCROLL" 后继续。语法错误出现在54行,29列,文件D:\程序调试\demo\rolling1\rolldata.pc:
错误发生在行54,列29,文件D:\程序调试\demo\rolling1\rolldata.pc
EXEC SQL FETCH FIRST rolldata_cursor INTO :time1,:temp1,:strain1,:strate1
,:stat1;
............................1
PCC-S-02201, 出现符号 "rolldata_cursor"在需要下列之一时:
into,using,
解决方案 »
- 关于vchar2类型,一个汉字占多少长度
- 请教有个trigger看不太明白
- Help:oracle查询速度突然变慢
- 授予用户connect, resource权限时候,程序连不上数据库。急!
- oracle别名中如何使用特殊字符(/,#,&)?
- 难题,求教,关于oracle数据库记录的逐条更新问题!!!!!!!!!!!!!!!!!!!!!!!!
- 郁闷,狂郁闷的……~~,如何把pdm文件(用powerDesire设计的数据库文件)导成纯文本文件??是在不行,还可以…………
- oracle新手,请问大家一个简单问题。
- 错误:oracle ora-01704 (字符串过长),如何解决
- 怎么查到数据库的空间使用情况
- 为什么会有这样的结果???
- select count(*)...和select count(column)...的速度问题
改为:
EXEC SQL DECLARE rolldata_cursor FOR SELECT time,temp,strain,strate,stat FROM rolling;
EXEC SQL FETCH FIRST rolldata_cursor INTO :time1,:temp1,:strain1,:strate1,:stat1;
改成:
EXEC SQL FETCH rolldata_cursor INTO :time1,:temp1,:strain1,:strate1,:stat1;
EXEC SQL DECLARE c CURSOR FOR s;
EXEC SQL OPEN c;
EXEC SQL FETCH c INTO :date ; EXEC SQL CLOSE c;
printf("date=%s\n",date); 先要分析! PREPARE
我写成了
EXEC SQL PREPARE SELECT time,temp,strain,strate,stat FROM rolling FROM :sql;
这样肯定不行,但我好像没办法
上面的s应该是一个字符串吧