教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · Oracle教程 · Oracle综合技巧

VC下运用Pro*C设计Oracle接口

学院最新推荐文章
教程推荐
『VC下运用Pro*C设计Oracle接口』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-4-4 
  username.len=(unsigned short)strlen((char *)username.arr);
  printf("\n输入口令:");
  gets(password.arr);
  password.len=(unsigned short)strlen((char *)password.arr);
  printf("\n输入服务器名:");
  gets(server.arr);
  server.len=(unsigned short)strlen((char *)server.arr);
  /* 连接到Oracle服务器上 */
  EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;
  printf("\n以用户%s成功地连接到了服务器%s上!\n", username.arr, server.arr);
}
/* 断开连接子程序 disconnect() */
void disconnect()
{
  char temp;
  printf("\n是否在断开连接前提交所有事务? (Y/N)");
  scanf("%c", &temp);
  fflush(stdin);
  if(temp !='Y' && temp != 'y')
  {
   /* 回退事务,断开连接。 */
   EXEC SQL ROLLBACK WORK RELEASE;
   printf("\n回退事务,断开连接,退出程序!\n\n");
  }
  else
  {
   /* 提交事务,断开连接。 */
   EXEC SQL COMM99v WORK RELEASE;
   printf("\n提交事务,断开连接,退出程序!\n\n");
   exit(1);
  }
}
/* 查询子程序 select()
* 首先输入作家代码,然后查询作家姓名和工资。*/
void select()
{
  EXEC SQL BEGIN DECLARE SECTION;
  char author_code[8], name[10];
  float salary;
  short salary_ind;
  EXEC SQL END DECLARE SECTION;
  printf("\n输入作家代码: ");
  gets(author_code);
  /* 查询作家姓名和工资 */
  EXEC SQL SELECT name, salary INTO :name, :salary:salary_ind
  FROM auths
  WHERE author_code = :author_code;
  /* 根据指示变量的值来确定该作家的工资是否为空。*/
  if (salary_ind ==0)
  {
   printf("\n作家代码\t作家姓名\t作家工资\n");
   printf("--------\t--------\t--------\n");
   printf("%8s\t%8s\t%8.2f\n", author_code, name, salary);
  }
  else
  {
   printf("作家%s的工资未录入,为空值!\n", name);
  }
}
/* 错误处理子程序 sql_error() */
void sql_error(char *msg)
{
  char err_msg[128];
  size_t buf_len, msg_len;
  /* 出现SQL错误,继续往下执行。 */
  EXEC SQL WHENEVER SQLERROR CONTINUE;
  printf("\n%s\n", msg);
  buf_len=sizeof(err_msg);
  /* 调用函数sqlglm()获得错误消息。 */
  sqlglm(err_msg, &buf_len, &msg_len);
  printf("%.*s\n", msg_len, err_msg);
  /* 回退事务,断开连接,退出程序。 */
  EXEC SQL ROLLBACK RELEASE;
  exit(EX99v_FAILURE);
}

  3、建表和插入数据记录

  上述示例程序如要正确运行,还需以Oracle库的合法用户登录,并创建AUTHS表和插入一些数据记录。建表文件、建表命令和插入数据记录的示例命令如下所述。这里叙述的工作完成后,上节生成的可执行文件才能正确

上一页  [1] [2] [3] [4] 下一页  

作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - Oracle综合技巧
普通教程Oracle 11g R1中大小写敏感地口
普通教程SQL Server与Oracle数据库在安全
普通教程Oracle 11g R1中AWR基线增强(1)
普通教程Oracle学习地一些建议
普通教程一步完成封装编译
普通教程Oracle Warehouse Builder 自动
普通教程Oracle 11gR1中表压缩增强
普通教程Oracle只希望红帽存在 其余Linu
普通教程Oracle中SQL语句执行效率地查询
普通教程Oracle 11gR1中地表空间加密
普通教程Oracle Wait Event:Data file i
普通教程Oracle 11gR1中地SecureFile(1)
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光