C链接MSSQL:一次成功的数据库交互之旅(c 链接 mssql)
C链接MSSQL:一次成功的数据库交互之旅
作为一名程序员,操作数据库肯定是件必不可少的事情,尤其是针对MSSQL来说,本文就结合C语言来介绍如何读写MSSQL数据库,并分享一次成功的数据库交互之旅。
当面临MSSQL数据库读写这个项目时,首先就是要提前准备好一些必要的条件,除了自身的SQL Server的安装外,还需要有ODBC(Open Database Connectivity)驱动程序的支持,才能够有效的对MSSQL进行数据库的操作。
接下来就是在C语言中,使用库文件 和 以及相关的头文件,来定义好全局函数,再引用odbc组件,便可以开始和MSSQL数据库进行读写操作了。实际上,我们在此可以使用比较简单的九个 API 函数,进行SQL 语句的读写。
在实现数据库交互之旅之前,还需要对WIN API 进行配置。这里有一段代码可以供参考:
SQLHENV henv;
SQLHDBC hdbc; SQLHSTMT hstmt;
SQLRETURN rc;
/*环境句柄*/ rc = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO)) return FALSE;
else {
/* 结构句柄 */ rc = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
if((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO)){ SQLFreeHandle(SQL_HANDLE_ENV, henv);
return FALSE; }
/*连接句柄*/ rc= SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
if((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO)) {
SQLFreeHandle(SQL_HANDLE_ENV, henv); return FALSE;
} }
以上就是做好了环境句柄、结构句柄和连接句柄等必要准备。当全部顺利完成之后,接着使用SQLConnect 函数来连接MSSQL,下面这段代码可以帮助你实现MSSQL数据库的连接:
rc = SQLConnect (hdbc,
szDSN, SQL_NTS,
szUID, SQL_NTS,
szPasswd, SQL_NTS);
if((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO)) {
SQLError(henv,hdbc,SQL_NULL_HSTMT,"Error", szSqlState,&nErrMsg ,NULL,0); printf("%s\n",szSqlState);
} else
{ printf("Connected with SQL server\n");
}
完成了连接以后,我们便可以使用SQLExecDirect函数,来对数据库进行读写操作了。本质上来说,一次成功的数据库交互就主要集中在以上几部分了,虽然可能有些复杂,但只要想明白,他们内在的联系,便可以不断地练习,逐步完成MSSQL服务器的数据库交互之旅。