📄 csdn_文档中心_用visual c++开发数据库应用程序.htm
字号:
SQL_NTS,<BR><BR>(SQLCHAR*) "JohnS", SQL_NTS,<BR><BR>(SQLCHAR*)
"Sesame", SQL_NTS);<BR><BR>if (retcode == SQL_SUCCESS ¦¦ retcode ==
SQL_SUCCESS_WITH_INFO){<BR><BR>/* Allocate statement handle
*/<BR><BR>retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc,
&hstmt); <BR><BR>if (retcode == SQL_SUCCESS ¦¦ retcode ==
SQL_SUCCESS_WITH_INFO) {<BR><BR>/* Process data
*/;<BR><BR>SQLFreeHandle(SQL_HANDLE_STMT,
hstmt);<BR><BR>}<BR><BR>SQLDisconnect(hdbc);<BR><BR>}<BR><BR>SQLFreeHandle(SQL_HANDLE_DBC,
hdbc); <BR><BR>} <BR><BR>}<BR><BR>SQLFreeHandle(SQL_HANDLE_ENV,
henv);<BR><BR>SQLDriveConnect<BR><BR>函数SQLDriveConnect用一个连接字符串建立至数据源的连接。它可以提供比SQLConnect函数的三个参数更多的信息,可以让用户输入必要的连接信息。<BR><BR>如果连接建立,该函数返回完整的字符串,应用程序可使用该连接字符串建立另外的连接。<BR><BR>函数格式:<BR><BR>SQLRETURN
SQLDriverConnect(SQLHDBC ConnectionHandle,SQLHWND
WindowHandle,SQLCHAR InConnectionString,SQLSMALLINT
StringLength1,SQLCHAR OutConnetionString,SQLSMALLINT
BufferLength,SQLSMALLINT *StringLength2Ptr,SQLSMALLINT
DriverCompletion);<BR><BR>参数:<BR><BR>ConnectionHandle
连接句柄<BR><BR>WindowHandle
窗口句柄,应用程序可以用父窗口的句柄,或用NULL指针<BR><BR>InConnectionString
连接字符串长度<BR><BR>OutConnectionString 一个指向连接字符中的指针<BR><BR>BufferLength
存放连接字符串的缓冲区的长度<BR><BR>StringLength2Ptr
返回的连接字符串中的字符数<BR><BR>DriverCompletion
额外连接信息,可能取值有:SQL_DRIVER_PROMPT,<BR><BR>SQL_DRIVER_COMPLETE,
<BR><BR>SQL_DRIVER_COMPLETE_REQUIRED,
or<BR><BR>SQL_DRIVER_NOPROMPT.<BR><BR>返回值:<BR><BR>SQL_SUCCESS,
SQL_SUCCESS_WITH_INFO, SQL_ERROR, or
SQL_INVALID_HANDLE.<BR><BR>成功返回SQL_SUCCESS,如果返回值为SQL_ERROR或SQL_SUCCESS_WITH_INFO,可以用函数SQLGetDiagRec获取相应SQLSTATE的值。<BR><BR> <BR><BR>SQLBrowseConnect<BR><BR>函数SQLBrowseConnect支持以一种迭代的方式获取到数据源的连接,直到最后建立连接。它是基于客房机/服务器的体系结构,因此,本地数据库不支持该函数。<BR><BR>一般,我们提供部分连接信息,如果足以建立到数据源的连接,则成功建立连接,否则返回SQL__NEED__DATA,并在OutConnectionString参数中返回所需要的信息。<BR><BR>函数格式:<BR><BR>SQLRETURN
SQLBrowseConnect(SQLHDBC ConnectionHandle,SQLCHAR*
InConnectionString,SQLSAMLLINT StringLength1,SQLCHAR*
OutConnectionString,SQLSMALLINT BufferLength,SQLSMALLINT
*StringLength2Ptr);<BR><BR>参数:<BR><BR>ConnectionHandle
连接句柄<BR><BR>InConnectionString 指向输出字符串的指针<BR><BR>StringLength1
输出字符串的指针长度<BR><BR>OutConnectionString 指向输出字符串的指针<BR><BR>BufferLength
用于存放输出字符串的缓冲区的长度<BR><BR>StringLength2Ptr
实际返回的字符串的长度<BR><BR> <BR><BR>返回值:<BR><BR>SQL_SUCCESS,
SQL_SUCCESS_WITH_INFO, SQL_ERROR, or
SQL_INVALID_HANDLE.<BR><BR>成功返回SQL_SUCCESS,如果返回值为SQL_ERROR或SQL_SUCCESS_WITH_INFO,可以用函数SQLGetDiagRec获取相应SQLSTATE的值。<BR><BR> <BR><BR>下面的代码讲述了如何使用ODBC
API的SQLBrowseConnect函数建立同数据源的连接。<BR><BR> <BR><BR>#define BRWS_LEN
100SQLHENV <BR><BR>henv;SQLHDBC hdbc;<BR><BR>SQLHSTMT
hstmt;<BR><BR>SQLRETURN retcode;<BR><BR>SQLCHAR
szConnStrIn[BRWS_LEN], szConnStrOut[BRWS_LEN];<BR><BR>SQLSMALLINT
cbConnStrOut;/* Allocate the environment handle. */<BR><BR>retcode =
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
<BR><BR>if (retcode == SQL_SUCCESS ¦¦ retcode ==
SQL_SUCCESS_WITH_INFO) {<BR><BR>/* Set the version environment
attribute. */<BR><BR>retcode = SQLSetEnvAttr(henv,
SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, 0);<BR><BR>if (retcode ==
SQL_SUCCESS ¦¦ retcode == SQL_SUCCESS_WITH_INFO) {<BR><BR>/*
Allocate the connection handle. */<BR><BR>retcode =
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);<BR><BR>if (retcode
== SQL_SUCCESS ¦¦ retcode == SQL_SUCCESS_WITH_INFO) {<BR><BR>/* Call
SQLBrowseConnect until it returns a value other than */<BR><BR>/*
SQL_NEED_DATA (pass the data source name the first time).
*/<BR><BR>/* If SQL_NEED_DATA is returned, call GetUserInput (not
*/<BR><BR>/* shown) to build a dialog from the values in
szConnStrOut. */<BR><BR>/* The user-supplied values are returned in
szConnStrIn, */<BR><BR>/* which is passed in the next call to
SQLBrowseConnect. */<BR><BR>lstrcpy(szConnStrIn, "DSN=Sales"); do
{<BR><BR>retcode = SQLBrowseConnect(hdbc, szConnStrIn,
SQL_NTS,<BR><BR>szConnStrOut, BRWS_LEN,
&cbConnStrOut);<BR><BR>if (retcode ==
SQL_NEED_DATA)<BR><BR>GetUserInput(szConnStrOut,
szConnStrIn);<BR><BR>} while (retcode == SQL_NEED_DATA);<BR><BR>if
(retcode == SQL_SUCCESS ¦¦ retcode ==
SQL_SUCCESS_WITH_INFO){<BR><BR>/* Allocate the statement handle.
*/<BR><BR>retcod<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_文档中心_用Visual C++开发数据库应用程序.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_文档中心_用Visual C++开发数据库应用程序.files/ico_pencil.gif"
width=16> </SPAN> zhangxiuyong <I>(2000-8-11
14:48:32)</I> </TD></TR>
<TR>
<TD bgColor=#ffffff colSpan=3
width=532><BR>如果你需要了解详细情况,请到:www.ucancode.com <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_文档中心_用Visual C++开发数据库应用程序.files/ico_pencil.gif"
width=16> </SPAN> zzh <I>(2000-8-11 8:04:41)</I>
</TD></TR>
<TR>
<TD bgColor=#ffffff colSpan=3
width=532><BR>Sorry,这篇文章不知为什么没有发布完全。今天,我会把一篇完全的文章放上来。
<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_文档中心_用Visual C++开发数据库应用程序.files/ico_pencil.gif"
width=16> </SPAN> ustczhy <I>(2000-8-10
23:20:28)</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=309">登陆</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_文档中心_用Visual C++开发数据库应用程序.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 © 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 + -