免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1168 | 回复: 3
打印 上一主题 下一主题

大家快救我!!!关于c连接oracle!急急急 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-03 18:16 |只看该作者 |倒序浏览
小弟编程如下,要查询表内数据:
可是明明有符合要求记录,为什么还是显示不出啊!!!
求高人指点啊!!!!!!!!!!!!!!

#include < sqlca.h >; //声明SQL通讯区                              
#include <stdlib.h>;                                                
#include < string.h >;                                             
#include<stdio.h>;                                                               
EXEC SQL INCLUDE sqlca;



EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20],password[20],dbname[20],f_no[20];
VARCHAR data[20];
EXEC SQL END DECLARE SECTION;
void connect();
void main()
{
if(sqlca.sqlcode==0)
   printf("连接成功\n";
else
   printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);

printf("enter data:";
scanf("%d",&data);
fflush(stdin);

EXEC SQL SELECT F_CORPORATIONNO INTO :f_no FROM pboradb.T_HF_HOSINGACCFUND_TMP WHERE UPPER(F_BANK_UPDATE)=UPPER(:data);
if (sqlca.sqlcode==0)
   printf("position : %s\n",f_no);
else
   printf("not exit such a user!\n";
}

void connect()
{
strcpy((char *)username.arr,"xxx";                              
username.len = strlen((char *)username.arr);                       
strcpy((char *)password.arr,"yyy";                           
password.len = strlen((char *)password.arr);                       
strcpy((char *)dbname.arr,"zzz";                              
dbname.len = strlen((char *)dbname.arr);   

EXEC SQL CONNECT :username IDENTIFIED BY :password USING:dbname;
}
表内有:
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
F_CORPORATIONNO                           NOT NULL CHAR(13)
F_HOSINGACCFUNDNO                         NOT NULL CHAR(
F_CUSTOMER                                NOT NULL VARCHAR2(16)
F_CERTIFICATENO                           NOT NULL VARCHAR2(1
F_CORPORATION                             NOT NULL VARCHAR2(40)
F_TOTAL_BAL                               NOT NULL VARCHAR2(10)
F_HFUNDACC_BAL                            NOT NULL VARCHAR2(10)
F_HALLOWANCEACC_BAL                       NOT NULL VARCHAR2(10)
F_COPAY_BAL                               NOT NULL VARCHAR2(
F_POPAY_BAL                               NOT NULL VARCHAR2(
F_ACC_FLAG                                NOT NULL CHAR(1)
F_FROZEN_FLAG                             NOT NULL CHAR(1)
F_PAY_DATE                                NOT NULL CHAR(
F_HAFMD_UPDATE                            NOT NULL CHAR(
F_SJSUNCARDNO                             NOT NULL CHAR(16)
F_BANKOP_FLAG                             NOT NULL CHAR(1)
F_BANK_UPDATE                             NOT NULL CHAR(

我确定我输入条件正确,可是为什么还是显示找不出呢!!!!
求求各位拉,很简单的程序啊

论坛徽章:
0
2 [报告]
发表于 2004-03-03 18:40 |只看该作者

大家快救我!!!关于c连接oracle!急急急

我把printf("enter data:";
scanf("%d",&data);
改成gets(data.arr);
再把后面条件也改成相应数据
可是还是不行啊
为什么啊
大家快来看看啊

论坛徽章:
0
3 [报告]
发表于 2004-03-03 20:43 |只看该作者

大家快救我!!!关于c连接oracle!急急急

在查询前 加一句:data.len=strlen(data.arr);就该可以了

论坛徽章:
0
4 [报告]
发表于 2004-03-03 21:52 |只看该作者

大家快救我!!!关于c连接oracle!急急急

scanf("%s",(char *)data.arr);
data.len = strlen((char *)data.arr);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP