zoukankan      html  css  js  c++  java
  • C语言异常处理和连接数据库

     1 #include <stdio.h>
     2 #include <setjmp.h>
     3 
     4 jmp_buf j;
     5 
     6 void Exception(void);
     7 double diva(double num1,double num2);
     8 
     9 int main()
    10 {
    11     double a = 0, b = 0, result = 0;
    12 
    13 
    14     printf("请输入第一个数字:");
    15 
    16     scanf("%lf",&a);
    17 
    18     printf("请输入第二个数字:");
    19 
    20 
    21     if(setjmp(j) == 0)
    22     {
    23         scanf("%lf",&b);
    24 
    25         if(0 == b)
    26         {
    27             Exception();
    28         }
    29         result = diva(a, b);
    30 
    31         printf("相除的结果是: %.2lf
    ",result);
    32     }
    33     else
    34     {
    35         printf("试图除以一个为0的数字
    ");
    36     }
    37     system("pause");
    38     return 0;
    39 }
    40 
    41 
    42 void Exception(void)
    43 {
    44     longjmp(j, 1);
    45 }
    46 double diva(double num1,double num2)         //两数相除函数
    47 {
    48     double re;
    49 
    50     re=num1/num2;
    51 
    52     return re;
    53 }

      C语言通过ODBC连接SQLSERVER数据库操作

     1 /*****************************************************
     2 Function:
     3 Description:              
     4 Input: 
     5 Return: 
     6 Author:
     7 Date:
     8 *****************************************************/
     9 
    10 #include <stdio.h>   
    11 #include <stdlib.h>
    12 #include <Windows.h>
    13 #include <sql.h>               // 包含有基本的ODBC API的定义
    14 #include <sqlext.h>            // 包含有扩展的ODBC的定义
    15 #include <sqltypes.h>
    16 #include <time.h>
    17 
    18 
    19 int main()
    20 {
    21     void  *hdbc1 = NULL;  //语句句柄
    22     HENV  henv = NULL;
    23     clock_t start_time = 0, end_time = 0;
    24     double time = 0; 
    25 
    26     /////////////////////////////////////////////////////////////
    27     ////////注意:所有未释放动态申请内存在初始化参数后释放///////
    28     /////////////////////////////////////////////////////////////
    29 
    30     // 用户名和密码
    31     RETCODE   retcode; 
    32     char szDSN[] = "John";   //必须是一个合法的DSN Name,数据源名
    33     char szUID[] = "sa";           //用户名   
    34     char szAuthStr[] = "1234";     //用户密码   
    35 
    36 
    37     //申请环境句柄和连接句柄
    38     while(1)
    39     {
    40         //申请环境句柄
    41         start_time = clock();
    42 
    43         /* 此函数组合了函数 SQLAllocEnv()、SQLAllocConnect() 和 SQLAllocStmt()*/
    44         retcode  = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv); 
    45         
    46         /*创建环境句柄后务必要调用这个函数*/
    47         retcode  = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, 
    48             (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);  
    49 
    50         /*申请数据库连接句柄*/
    51         retcode  =  SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1); 
    52         
    53         /*连接ODBC数据源,并返回连接句柄*/
    54         retcode = SQLConnect(hdbc1, (SQLCHAR *)szDSN,(SWORD)strlen(szDSN),(SQLCHAR *)szUID, 
    55             (SWORD)strlen(szUID),(SQLCHAR *)szAuthStr,(SWORD)strlen(szAuthStr));  
    56 
    57         if((retcode != SQL_SUCCESS)&&(retcode != SQL_SUCCESS_WITH_INFO))  
    58         {
    59             printf("Connection   Error
    ");   
    60         }
    61         else  
    62         {
    63             printf("Connection   Successfully
    "); 
    64 
    65         }
    66         SQLDisconnect(hdbc1);                   /* 断开连接ODBC数据源*/
    67         SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);  /*释放语句句柄*/
    68         SQLFreeHandle(SQL_HANDLE_ENV, henv);   /*释放环境句柄*/
    69 
    70         end_time = clock();
    71         time = (double)(end_time-start_time)/CLOCKS_PER_SEC;
    72         printf("总共耗时%.2f s
    ", time);
    73 
    74     }
    75 
    76     system("pause");
    77     return 0;
    78 }
  • 相关阅读:
    Ellipse4SL 的安装包和环境配置要求
    什么是SOHO人
    D2上的Silverlight
    银光团队项目正式启动,欢迎您的参与!
    Silverlight开发团队招募SOHO团员若干
    SOHO新的生活方式
    [银客北京开发团队]承接各种Silverlight和WPF外包项目和合作项目
    微软Silverlight 3.0 概观
    grers
    翻译电文
  • 原文地址:https://www.cnblogs.com/hdu-2010/p/3219687.html
Copyright © 2011-2022 走看看