以下是我的部分源代码:登陆数据库:EXEC SQL CONNECT :username IDENTIFIED BY :password USING :dbname;查询记录:void found()
{
EXEC SQL BEGIN DECLARE SECTION; char user_ID[15]; 
int user_hp=0;
char user_EQUIP01[10]; 

char user_EQUIP02[10]; 

char user_EQUIP03[10]; 


EXEC SQL VAR user_ID IS STRING(16);  EXEC SQL VAR user_EQUIP01 IS STRING(11);  EXEC SQL VAR user_EQUIP02 IS STRING(11);  EXEC SQL VAR user_EQUIP03 IS STRING(11);  EXEC SQL END DECLARE SECTION;  memset(user_ID, 0, sizeof(user_ID);
memset(user_EQUIP01, 0, sizeof(user_EQUIP01);
memset(user_EQUIP02, 0, sizeof(user_EQUIP02);
memset(user_EQUIP03, 0, sizeof(user_EQUIP03);
cout<<endl<<"请输入玩家的ID号:  ";

gets(user_ID);
gets(user_ID); if(!strcmp(user_ID," "))
{
cout<<endl;
return;
}

EXEC SQL WHENEVER SQLERROR GOTO sqlerror;  EXEC SQL WHENEVER NOT FOUND GOTO notfound;  EXEC SQL SELECT "SNAKER9527"."PLAYERINF"."USERID","SNAKER9527"."PLAYERINF"."HP","SNAKER9527"."PLAYERINF"."EQUIP01","SNAKER9527"."PLAYERINF"."EQUIP02","SNAKER9527"."PLAYERINF"."EQUIP03" 
INTO :user_ID, :user_hp, :user_EQUIP01, :user_EQUIP02, :user_EQUIP03
  FROM "SNAKER9527"."PLAYERINF"
  WHERE "SNAKER9527"."PLAYERINF"."USERID" = :user_ID;  cout<<endl<<"USERID:  "<<user_ID<<"  HP:  "<<user_hp<<"  EQUIP01:  "<<user_EQUIP01<<"  EQUIP02:  "<<user_EQUIP02<<"  EQUIP03:  "<<user_EQUIP03<<endl;
return;notfound:
cout<<endl<<user_ID<<"NOT FOUND!"<<endl;
return;
sqlerror:
cout<<endl<<sqlca.sqlerrm.sqlerrmc;
EXEC SQL WHENEVER SQLERROR CONTINUE;  EXEC SQL ROLLBACK;  exit(1);
}执行结果:(DOS界面下)请输入ID号:   kalauserid: kala  hp:  0   equip01:   0000000000烫烫烫烫烫  equip02:   0000000000烫烫烫烫烫
equip03:   0000000000烫烫烫烫烫   equip04:   0000000000烫烫烫烫烫  
equip05:   0000000000烫烫烫烫烫   equip06:   0000000000烫烫烫烫烫
equip07:   0000000000烫烫烫烫烫   equip08:   0000000000烫烫烫烫烫我想问这是什么原因造成的?是因为Proc中的SQL根本就没执行吗?可我在Oracle的SQL控制台中执行是没问题的;还是我的.NET没有连到Oracle数据库,如果没联上他应该会有提示的,而且连接时也会有防火墙提示,到底是什么原因呢?该如何解决,请大虾们告诉我,上面等着用,我非常着急,谢谢!