求一 odbc api 编程的完整的例子 急呀!!!!!!!!!!!!!!! 急!~~~~~~~~~~~~~~~~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在 csdn上面好象就从来都没有出现过这样的例子 #include "stdafx.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 i;SQLTCHAR state[MAXNAME];SQLTCHAR ErrorMsg[MAXNAME];SQLINTEGER NativeError;int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ 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); UCHAR result[MAXNAME]; SQLSMALLINT resultlen; UCHAR dsn[MAXNAME]="DSN=tst1"; HWND DskWnd=GetDesktopWindow(); retcode = SQLDriverConnect(hdbc1, DskWnd,dsn,SQL_NTS,result,MAXNAME,&resultlen,SQL_DRIVER_PROMPT); if ( (retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO) ) { retcode=SQLGetDiagRec(SQL_HANDLE_DBC,hdbc1,1,state,&NativeError,ErrorMsg,MAXNAME,NULL); // 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);}//在系统的dsn配置中先建立一个tet1 dsn MFC非客户区重绘问题,高手进! 看到帖子内容区有广告一点看帖回帖的心情都没了!!! 请问Schur分解与奇异值分解有什么关系? ftp putfile出现12003错误 IIS的FTP应该怎么设置 windows网络编程,有什么好书啊 基于unidrv开发的虚拟打印驱动程序如何生成emf格式数据(*.SPL文件) 一个简单的问题! 通过domodal产生的对话框,其值应该如何传递,请高手指点,非常感谢 ado连接问题 谁会注册控件 巨++难的问题:http://www.csdn.net/expert/topic/881/881933.xml?temp=.3160517 请问!
#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 i;SQLTCHAR state[MAXNAME];
SQLTCHAR ErrorMsg[MAXNAME];
SQLINTEGER NativeError;int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
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);
UCHAR result[MAXNAME];
SQLSMALLINT resultlen;
UCHAR dsn[MAXNAME]="DSN=tst1";
HWND DskWnd=GetDesktopWindow();
retcode = SQLDriverConnect(hdbc1, DskWnd,dsn,SQL_NTS,result,MAXNAME,&resultlen,SQL_DRIVER_PROMPT);
if ( (retcode != SQL_SUCCESS) &&
(retcode != SQL_SUCCESS_WITH_INFO) ) {
retcode=SQLGetDiagRec(SQL_HANDLE_DBC,hdbc1,1,state,&NativeError,ErrorMsg,MAXNAME,NULL);
// 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);
}
//在系统的dsn配置中先建立一个tet1 dsn