当前位置: 代码迷 >> Oracle开发 >> 请教PROC读取数据如何是乱码
  详细解决方案

请教PROC读取数据如何是乱码

热度:16   发布时间:2016-04-24 07:25:20.0
请问PROC读取数据怎么是乱码?
我建了一个表,2个字段,NAME和NO,只有一条记录'zhangsan',1
然后用以下程序做测试,结果输出的是乱码
C/C++ code
#include <stdio.h>#include <string.h>#include <stdlib.h>/*包含sqlca头文件*/#include <sqlca.h>#include <STDIO.H>void connect();void query();void main(){    connect();    query();    getch();}void connect(){char username[10],password[10],server[10];printf("输入用户名:");gets(username);printf("输入口令:");gets(password);printf("输入网络服务名:");gets(server);/*内嵌连接语句*/EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;}void query(){int id;char name[10];printf("请输入编号:");scanf("%d",&id);fflush(stdin);/*使用charz选项值显示字符数据*/EXEC ORACLE OPTION (CHAR_MAP=CHARZ);EXEC SQL SELECT NAME INTO :name FROM ID WHERE NO=:id;printf("%s\n",name);}


------解决方案--------------------
首先,我表示找不到STDIO.H
其次,或许EXEC ORACLE OPTION (CHAR_MAP=CHARZ);属于oraca.h中的通信区
最后,建议对char name[10];使用memcpy函数设置为全“零”,即/0
  相关解决方案