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服务器的数据库交互之旅。


数据运维技术 » C链接MSSQL:一次成功的数据库交互之旅(c 链接 mssql)