CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问如何用sdk(c)实现数据库的连接

楼主lilyxiao(sun)2003-09-02 13:43:57 在 C/C++ / C语言 提问

谢谢,请 问题点数:0、回复次数:1Top

1 楼skywater(宁镇子)回复于 2003-09-02 14:03:20 得分 0

你是想用ODBC或者ADO吧,一般情况下好像不叫sdk,而是API。  
  MSDN上有许多例子,我给你摘了一个,用ODBC连接到SQL   Server。  
   
  #include   <stdio.h>  
  #include   <string.h>  
  #include   <windows.h>  
  #include   <sql.h>  
  #include   <sqlext.h>  
  #include   <sqltypes.h>  
  #include   <odbcss.h>  
   
  SQLHENV             henv   =   SQL_NULL_HENV;  
  SQLHDBC             hdbc1   =   SQL_NULL_HDBC;  
  SQLHSTMT             hstmt1   =   SQL_NULL_HSTMT;  
   
  int   main()   {  
        RETCODE   retcode;  
        UCHAR       szDSN[SQL_MAX_DSN_LENGTH+1]   =   "MyDSN",  
                    szUID[MAXNAME]   =   "sa",  
                    szAuthStr[MAXNAME]   =   "MyPassword";  
   
          //   Allocate   the   ODBC   Environment   and   save   handle.  
        retcode   =   SQLAllocHandle   (SQL_HANDLE_ENV,   NULL,   &henv);  
   
        //   Notify   ODBC   that   this   is   an   ODBC   3.0   application.  
        retcode   =   SQLSetEnvAttr(henv,   SQL_ATTR_ODBC_VERSION,  
                                            (SQLPOINTER)SQL_OV_ODBC3,  
                                            SQL_IS_INTEGER);  
   
        //   Allocate   an   ODBC   connection   handle   and   connect.  
        retcode   =   SQLAllocHandle(SQL_HANDLE_DBC,   henv,   &hdbc1);  
        retcode   =   SQLConnect(hdbc1,   szDSN,   (SWORD)strlen(szDSN),  
                                      szUID,   (SWORD)strlen(szUID),  
                                      szAuthStr,   (SWORD)strlen(szAuthStr));  
        if   (   (retcode   !=   SQL_SUCCESS)   &&    
              (retcode   !=   SQL_SUCCESS_WITH_INFO)   )   {  
                    //   Connect   failed,   call   SQLGetDiagRec   for   errors.  
        }  
        else   {  
              //   Connects   to   SQL   Server   always   return  
              //   informational   messages.     These   messages   can   be  
              //   retrieved   by   calling   SQLGetDiagRec.  
        }  
   
        //   Allocate   statement   handles   and   do   ODBC   processing.  
   
        /*   Clean   up.   */  
        SQLDisconnect(hdbc1);  
        SQLFreeHandle(SQL_HANDLE_DBC,   hdbc1);  
        SQLFreeHandle(SQL_HANDLE_ENV,   henv);  
        return(0);  
  }  
   
  详细的信息查询MSDN。Top

相关问题

  • C#连接数据库
  • c#中连接数据库
  • C++连接数据库
  • C/C++连接oracle数据库问题
  • c#如何连接ORACLE数据库
  • C#.net的数据库连接问题
  • visual c#数据库连接问题"System.Data.SqlClient.SqlException"
  • c#与数据库Access连接问题
  • ASP.NET/C#里数据库连接问题。
  • C# 数据库连接问题

关键词

  • sql
  • null
  • hdbc1
  • retcode
  • henv
  • szuid
  • szauthstr
  • szdsn
  • odbc
  • sword

得分解答快速导航

  • 帖主:lilyxiao

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo