⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_使用odbcapi编写数据库应用程序.htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 3 页
字号:
            用户口令长度<BR>返回值:<BR>SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, or 
            SQL_INVALID_HANDLE.<BR>成功返回SQL_SUCCESS,如果返回值为SQL_ERROR或SQL_SUCCESS_WITH_INFO,可以用函数SQLGetDiagRec获取相应SQLSTATE的值。<BR><BR>下面的代码演示了如何使用ODBC 
            API的SQLConnect函数建立同数据源SQLServer的连接。<BR><BR>#include 
            “sqlext.h”<BR>SQLHENV&nbsp; henv;;<BR>SQLHDBC&nbsp; 
            hdbc;<BR>SQLHSTMT hstmt;<BR>SQLRETURN&nbsp; retcode;<BR>&nbsp; 
            &nbsp; &nbsp; /*Allocate environment handle */<BR>retcode = 
            SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &amp;henv);&nbsp; 
            <BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; retcode == SQL_SUCCESS_WITH_INFO) 
            {<BR>/* Set the ODBC version environment attribute */<BR>&nbsp; 
            retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, 
            (void*)SQL_OV_ODBC3, 0); <BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; retcode 
            == SQL_SUCCESS_WITH_INFO) {<BR>/* Allocate connection handle 
            */<BR>retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &amp;hdbc); 
            <BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; retcode == SQL_SUCCESS_WITH_INFO) 
            {<BR>/* Set login timeout to 5 seconds. 
            */<BR>SQLSetConnectAttr(hdbc, (void*)SQL_LOGIN_TIMEOUT, 5, 0);<BR>/* 
            Connect to data source */<BR>retcode = SQLConnect(hdbc, (SQLCHAR*) 
            "Sales", SQL_NTS,<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; (SQLCHAR*) "JohnS", SQL_NTS,<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (SQLCHAR*) "Sesame", 
            SQL_NTS);<BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; retcode == 
            SQL_SUCCESS_WITH_INFO){<BR>/* Allocate statement handle 
            */<BR>retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &amp;hstmt); 
            <BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; retcode == SQL_SUCCESS_WITH_INFO) 
            {<BR>/* Process data */;<BR>SQLFreeHandle(SQL_HANDLE_STMT, 
            hstmt);<BR>}<BR>SQLDisconnect(hdbc);<BR>}<BR>SQLFreeHandle(SQL_HANDLE_DBC, 
            hdbc);&nbsp; &nbsp; &nbsp; <BR>} 
            <BR>}<BR>SQLFreeHandle(SQL_HANDLE_ENV, 
            henv);<BR>SQLDriveConnect<BR>函数SQLDriveConnect用一个连接字符串建立至数据源的连接。它可以提供比SQLConnect函数的三个参数更多的信息,可以让用户输入必要的连接信息。<BR>如果连接建立,该函数返回完整的字符串,应用程序可使用该连接字符串建立另外的连接。<BR>函数格式:<BR>SQLRETURN 
            SQLDriverConnect(SQLHDBC ConnectionHandle,SQLHWND 
            WindowHandle,SQLCHAR InConnectionString,SQLSMALLINT 
            StringLength1,SQLCHAR OutConnetionString,SQLSMALLINT 
            BufferLength,SQLSMALLINT *StringLength2Ptr,SQLSMALLINT 
            DriverCompletion);<BR>参数:<BR>ConnectionHandle 连接句柄<BR>WindowHandle 
            窗口句柄,应用程序可以用父窗口的句柄,或用NULL指针<BR>InConnectionString 
            连接字符串长度<BR>OutConnectionString 一个指向连接字符中的指针<BR>BufferLength 
            存放连接字符串的缓冲区的长度<BR>StringLength2Ptr 返回的连接字符串中的字符数<BR>DriverCompletion 
            额外连接信息,可能取值有:SQL_DRIVER_PROMPT,<BR>SQL_DRIVER_COMPLETE, 
            <BR>SQL_DRIVER_COMPLETE_REQUIRED, 
            or<BR>SQL_DRIVER_NOPROMPT.<BR>返回值:<BR>SQL_SUCCESS, 
            SQL_SUCCESS_WITH_INFO, SQL_ERROR, or 
            SQL_INVALID_HANDLE.<BR>成功返回SQL_SUCCESS,如果返回值为SQL_ERROR或SQL_SUCCESS_WITH_INFO,可以用函数SQLGetDiagRec获取相应SQLSTATE的值。<BR><BR>SQLBrowseConnect<BR>函数SQLBrowseConnect支持以一种迭代的方式获取到数据源的连接,直到最后建立连接。它是基于客房机/服务器的体系结构,因此,本地数据库不支持该函数。<BR>一般,我们提供部分连接信息,如果足以建立到数据源的连接,则成功建立连接,否则返回SQL__NEED__DATA,并在OutConnectionString参数中返回所需要的信息。<BR>函数格式:<BR>SQLRETURN 
            SQLBrowseConnect(SQLHDBC ConnectionHandle,SQLCHAR* 
            InConnectionString,SQLSAMLLINT StringLength1,SQLCHAR* 
            OutConnectionString,SQLSMALLINT BufferLength,SQLSMALLINT 
            *StringLength2Ptr);<BR>参数:<BR>ConnectionHandle 
            连接句柄<BR>InConnectionString 指向输出字符串的指针<BR>StringLength1 
            输出字符串的指针长度<BR>OutConnectionString 指向输出字符串的指针<BR>BufferLength 
            用于存放输出字符串的缓冲区的长度<BR>StringLength2Ptr 
            实际返回的字符串的长度<BR><BR>返回值:<BR>SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, 
            SQL_ERROR, or 
            SQL_INVALID_HANDLE.<BR>成功返回SQL_SUCCESS,如果返回值为SQL_ERROR或SQL_SUCCESS_WITH_INFO,可以用函数SQLGetDiagRec获取相应SQLSTATE的值。<BR><BR>下面的代码讲述了如何使用ODBC 
            API的SQLBrowseConnect函数建立同数据源的连接。<BR><BR>#define BRWS_LEN 
            100SQLHENV&nbsp; <BR>henv;SQLHDBC&nbsp; hdbc;<BR>SQLHSTMT&nbsp; 
            hstmt;<BR>SQLRETURN&nbsp; retcode;<BR>SQLCHAR&nbsp; 
            szConnStrIn[BRWS_LEN], szConnStrOut[BRWS_LEN];<BR>SQLSMALLINT&nbsp; 
            cbConnStrOut;/* Allocate the environment handle. */<BR>retcode = 
            SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &amp;henv);&nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; <BR>if (retcode == SQL_SUCCESS &brvbar;&brvbar; 
            retcode == SQL_SUCCESS_WITH_INFO) {<BR>&nbsp; /* Set the version 
            environment attribute. */<BR>&nbsp; retcode = SQLSetEnvAttr(henv, 
            SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, 0);<BR>&nbsp; if (retcode == 
            SQL_SUCCESS &brvbar;&brvbar; retcode == SQL_SUCCESS_WITH_INFO) {<BR>&nbsp; &nbsp; 
            &nbsp; /* Allocate the connection handle. */<BR>&nbsp; &nbsp; &nbsp; 
            retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &amp;hdbc);<BR>&nbsp; 
            &nbsp; &nbsp; if (retcode == 
  SQL_SUCCESS<BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文档中心_使用ODBCAPI编写数据库应用程序.files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文档中心_使用ODBCAPI编写数据库应用程序.files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; king2k <I>(2001-5-10 14:27:35)</I> </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 
      width=532><BR>能不能在介绍一下如何调用SQLBulkOperation()插入数据。我调用此函数时的错误信息是“无效的光标位置”,真的是很迷茫 
      <BR></TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文档中心_使用ODBCAPI编写数据库应用程序.files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; zhangxiuyong <I>(2000-8-16 11:11:34)</I> 
    </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 
      width=532><BR>文章写得非常不错,不过这个过程太复杂,是否可以让计算机为你解决了 
<BR></TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你没有登陆,无法发表评论。 请先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=329">登陆</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文档中心_使用ODBCAPI编写数据库应用程序.files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -