在C语言中连接SQL Server并进行增删改查操作,我们可以使用ODBC(Open Database Connectivity)接口。

以下是一个简单的示例,假设已经安装了ODBC驱动和相关的SQL Server客户端工具。

然后将ODBC数据源配置为连接到SQL Server数据库。可以使用ODBC数据源管理器(ODBC Data Source Administrator)来完成这项任务。

#include <stdio.h>
#include <sql.h>
#include <sqlext.h>

#define SQL_RESULT_LEN 255
#define SQL_RETURN_CODE_LEN 1024

void show_error(unsigned int handletype, const SQLHANDLE& handle) {
    SQLCHAR sqlstate[SQL_RETURN_CODE_LEN];
    SQLCHAR message[SQL_RESULT_LEN];
    if (SQL_SUCCESS == SQLGetDiagRec(handletype, handle, 1, sqlstate, NULL, message, SQL_RESULT_LEN, NULL)) {
        printf("SQL Error: %s\n", message);
    }
}

int main() {
    // Declare handles and variables
    SQLHENV henv;
    SQLHDBC hdbc;
    SQLRETURN retcode;

    // Allocate environment handle
    retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
    if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
        show_error(SQL_HANDLE_ENV, henv);
        return 1;
    }

    // Set the ODBC version environment attribute
    retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
    if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
        show_error(SQL_HANDLE_ENV, henv);
        return 1;
    }

    // Allocate connection handle
    retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
    if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
        show_error(SQL_HANDLE_ENV, henv);
        show_error(SQL_HANDLE_DBC, hdbc);
        return 1;
    }

    // Connect to the DSN
    SQLCHAR* dsn = (SQLCHAR*)"YourDSN";
    SQLCHAR* user = (SQLCHAR*)"YourUsername";
    SQLCHAR* pass = (SQLCHAR*)"YourPassword";
    retcode = SQLConnect(hdbc, dsn, SQL_NTS, user, SQL_NTS, pass, SQL_NTS);
    if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
        show_error(SQL_HANDLE_ENV, henv);
        show_error(SQL_HANDLE_DBC, hdbc);
        return 1;
    }

    // Perform SQL operations here
    // ...

    // Disconnect and free resources
    SQLDisconnect(hdbc);
    SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
    SQLFreeHandle(SQL_HANDLE_ENV, henv);

    return 0;
}

在上面的示例中,需要替换YourDSNYourUsernameYourPassword为你的实际ODBC数据源、用户名和密码。此外,你需要在”Perform SQL operations here”的这里执行你的SQL查询、插入、更新或删除操作。使用SQL语句,可以通过SQLExecDirectSQLPrepareSQLExecute执行SQL语句。

如果在实际应用中,需要添加适当的错误处理和释放资源的代码。