当前位置:  技术问答>linux和unix

请各位高手看看这段PRO*C程序为什么编译不能通过?

    来源: 互联网  发布时间:2015-07-07

    本文导语:  #include  #define DB_NOTFOUND 1403 EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION;     typedef struct      {   char user_name[100];    char gender[4];  int age;  int grade;  char address[300];  int id;      } rec_def;      ...

#include 
#define DB_NOTFOUND 1403
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
    typedef struct
     {   char user_name[100];
   char gender[4];
 int age;
 int grade;
 char address[300];
 int id;
     } rec_def;




     char user_name[20];
     char password[20];
 VARCHAR sql_statement[300];

    int u_id;

EXEC SQL END DECLARE SECTION;

void select_cond();
void main()
{
/*  int user;*/
    rec_def flag,*p_flag;
    p_flag = &flag;
    strcpy(user_name,"ops$pbora");/*用户名ops$pbora*/
    strcpy(password,"pbora");/*密码pbora*/
    EXEC SQL CONNECT :user_name IDENTIFIED BY :password;/*登录数据库*/
    if(sqlca.sqlcode user_name,p_flag->gender,p_flag->age,
p_flag->grade,p_flag->address,p_flag->id;
        if(sqlca.sqlcode !=0)
        {
            printf("已到表尾了!n");
            return;
        }
        printf("----------------------n");
        printf("姓名:%s",p_flag->user_name);
        printf("性别:%s",p_flag->gender);
        printf("年龄:%d",p_flag->grade);
        printf("年级:%d",p_flag->grade);
        printf("地址:%s",p_flag->address);
        printf("号码:%dn",p_flag->id);
    }while(sqlca.sqlcode != DB_NOTFOUND);
    EXEC SQL CLOSE my_cur;

 EXEC SQL COMMIT WORK RELEASE;
    if(sqlca.sqlcode !=0 )
    {
        printf("关闭数据库失败!n");
        return;
    }
}

void select_cond()
{
    printf("请输入ID:");
    scanf("%d",u_id);
    printf("n");
    strcat(sql_statement.arr,u_id);
}


|
语法错误:
EXEC SQL FETCH my_cur INTO :p_flag->user_name,p_flag->gender,。。。
语句中,每个变量前面都要有“:”
应该是:
EXEC SQL FETCH my_cur INTO :p_flag->user_name,:p_flag->gender,:p_flag->age,:p_flag->grade,:p_flag->address,:p_flag->id;

|
Gemini77(双子星) 说得对.
sqlca小写没错.

|

我给你编译了一下,首先游标的定位不能多个定位:
do
    {
       EXEC SQL FETCH my_cur INTO :p_flag->user_name,p_flag->gender,p_flag->age,
p_flag->grade,p_flag->address,p_flag->id;

你把它改成 EXEC SQL FETCH my_cur INTO :p_flag->user_name;一个一个地取值吧。
另外:
void select_cond()
scanf("%d",&u_id);

这样就可以通过了

    
 
 

您可能感兴趣的文章:

  • [火急]编译时 -std=c99 编译报错 请高手帮忙看看
  • linux下面用makefile编译的问题,请高手指点。
  • 高手帮帮忙,编译错误,在线等
  • 万能的CSDN啊,100分请教高手一个编译内核传参的问题!
  • 请问高手:sun下如何编译informix的C++,也就是嵌套sql的c++,急呀
  • 有关C编译的突发奇想,请高手指教
  • iptables已打入string match补丁,编译内核无法找到该项,求助高手!
  • 请问高手:如何编译,才能将bean应用到jsp中?
  • jbuilder7编译jsp的奇怪问题,求高手帮忙!
  • CSDN的诸位高手们,请问在LINUX下,用那条命令可以编译C语言的原文件,在线等待:)
  • 为什么我在版本 2.6.14 下,不能编译 epoll ,请高手指教。
  • 高手接分!UNIX 64位动态链接库编译问题
  • 请问各位高手,Applet怎么编译,又怎么运行?
  • proftp先停止再删除再重新编译后还是不能工作请高手指点。
  • 为什么我在版本 2.6.14 下,不能编译 epoll ,请高手指教。 iis7站长之家
  • 请问高手,在SCO UNIX系统下如何编译共享连接库(*.so)
  • 编译JSP文件出错,这可能是什么问题,请教高手!
  • 各位高手,请教一个gcc编译的问题。大家都进来看看!
  • java高手请帮忙(程序编译中的问题)
  • linux 内核编译问题,请教高手
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!
  • 高手请教!linux怎样通过pid获取进程信息,如:进程名、进程状态等?
  • 有哪位高手知道如何通过DOS的命令行访问网络中其他机器的共享目录
  • 请高手指教-[急!!!]怎样在linux与 window 之间,通过 C或Java 进行通信
  • 想通过自己动手学习Linux网络编程,做一个什么比较好呢?望有经验的高手指点~~
  • 请教高手,通过ssh连接suse linux的三种方式是否可以修改?
  • SCJP的资料、笔记、模拟卷实在是太多太杂了!请通过的高手给出绝对必看必做(而且用了基本能够保证通过)的经典资料!
  • 请教Swing高手,如何在JTree中如何通过一个TreePath判断它代表的节点是不是叶节点?
  • 请高手指点:怎样在Linux里访问格式化成fat32的移动硬盘,通过USB接口?
  • 各位高手,请问怎样通过局域网连接Windows和Linux啊?
  • linux驱动程序是怎样通过内核和应用程序通信,还有是怎样和硬件通信,跪求求解,谢谢高手留言。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • KNOPPIX到底能不能读硬盘?高手在吗
  • POSTFIX能收不能发邮件,请高手指导!!
  • 我的REDHAT 9。0刚装好,显卡不能正常显示,请教各位高手
  • 请教高手,rethat linux9.0不能识别内置网卡
  • 急死了!! 高手来!!!!! 我的 Linux 不能识别我的显示器..........
  • windowsxp下可以上网,linux下相同配置不能上网,请高手指点.
  • 我不信,BCB上就没有了高手!如真不能解决,耻辱!
  • red hat 9 不能上网了,请高手帮忙
  • 高分请教高手:我的汉字输入法都不能用了
  • 有Linux 系统高手 能不能帮我配置个 PHP
  • 一个solaris8不能正常关机的问题,高手请入内...
  • 高手帮忙:不能进入xwindow
  • 嵌入式Linux使用外挂Vsftpd不能正常使用, 请高手解答,谢谢。
  • 我在linux根目录下不慎使用了命令chmod 777 * -R 结果不能登陆了 求高手!!!
  • solaris11安装后不能进人(高手请进)
  • 我的redhat9.0的iso不能安装?高手情帮忙
  • 求救高手:为什么不能加载模块?
  • ubuntu8.04 不能上网和关于update的问题(麻烦高手帮忙看看)
  • 嵌入式Qt制作的窗口,不能显示汉字,请高手指教
  • 请教高手我制作的redhat启动光盘为什么不能启动?
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3