C语言异常处理和连接数据库
2013-07-27 16:19
671 查看
#include <stdio.h> #include <setjmp.h> jmp_buf j; void Exception(void); double diva(double num1,double num2); int main() { double a = 0, b = 0, result = 0; printf("请输入第一个数字:"); scanf("%lf",&a); printf("请输入第二个数字:"); if(setjmp(j) == 0) { scanf("%lf",&b); if(0 == b) { Exception(); } result = diva(a, b); printf("相除的结果是: %.2lf\n",result); } else { printf("试图除以一个为0的数字\n"); } system("pause"); return 0; } void Exception(void) { longjmp(j, 1); } double diva(double num1,double num2) //两数相除函数 { double re; re=num1/num2; return re; }
C语言通过ODBC连接SQLSERVER数据库操作
/***************************************************** Function: Description: Input: Return: Author: Date: *****************************************************/ #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <sql.h> // 包含有基本的ODBC API的定义 #include <sqlext.h> // 包含有扩展的ODBC的定义 #include <sqltypes.h> #include <time.h> int main() { void *hdbc1 = NULL; //语句句柄 HENV henv = NULL; clock_t start_time = 0, end_time = 0; double time = 0; ///////////////////////////////////////////////////////////// ////////注意:所有未释放动态申请内存在初始化参数后释放/////// ///////////////////////////////////////////////////////////// // 用户名和密码 RETCODE retcode; char szDSN[] = "John"; //必须是一个合法的DSN Name,数据源名 char szUID[] = "sa"; //用户名 char szAuthStr[] = "1234"; //用户密码 //申请环境句柄和连接句柄 while(1) { //申请环境句柄 start_time = clock(); /* 此函数组合了函数 SQLAllocEnv()、SQLAllocConnect() 和 SQLAllocStmt()*/ retcode = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv); /*创建环境句柄后务必要调用这个函数*/ retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER); /*申请数据库连接句柄*/ retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1); /*连接ODBC数据源,并返回连接句柄*/ retcode = SQLConnect(hdbc1, (SQLCHAR *)szDSN,(SWORD)strlen(szDSN),(SQLCHAR *)szUID, (SWORD)strlen(szUID),(SQLCHAR *)szAuthStr,(SWORD)strlen(szAuthStr)); if((retcode != SQL_SUCCESS)&&(retcode != SQL_SUCCESS_WITH_INFO)) { printf("Connection Error\n"); } else { printf("Connection Successfully\n"); } SQLDisconnect(hdbc1); /* 断开连接ODBC数据源*/ SQLFreeHandle(SQL_HANDLE_DBC, hdbc1); /*释放语句句柄*/ SQLFreeHandle(SQL_HANDLE_ENV, henv); /*释放环境句柄*/ end_time = clock(); time = (double)(end_time-start_time)/CLOCKS_PER_SEC; printf("总共耗时%.2f s\n", time); } system("pause"); return 0; }
相关文章推荐
- 数据库连接时一个异常的处理:java.sql.SQLException: No suitable driver found for
- WebSphere Application Server ND V7中如何处理容器管理的数据库事务中会话 Bean 的连接异常?
- 数据库连接异常的处理思路
- 解决"System.AccessViolationException”类型的未经处理的异常在 未知模块(IIS Worker Process 已停止工作)导致无法连接远程数据库的问题
- 数据库SQLserver2005连接异常处理
- C# 连接 SQL Server 数据库,出现异常:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接
- ORACL初学(之一) oracle sqlplus异常处理: 连接后输入命令就会显示个2,处理办法
- ADO连接数据库时的错误处理
- (转载)表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。
- C语言利用setjmp/longjmp实现模仿C++的层次异常处理机制
- 关于IBatisNet的配置文件中数据库连接字符串加密处理
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- ORACLE 异常关闭,导致数据库报错 无法连接
- Getting error "No subject alternative names" when doing secure URL connection(针对处理https连接的安全异常)(转:http://www.coderanch.com/t/134
- 导入Excel出错引出两类异常——数据库异常和业务异常处理方式
- 在SQLServer 2005附加SQLServer 2008数据库异常处理
- 一个数据库远程访问错误及其解决办法(启用 JIT 调试后,任何无法处理的异常)
- Objective-C语言:异常处理机制
- 异常处理汇总-数据库系列
- STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理)