c编程语言写一个可以对sqlserver增删改查的代码

下面是一个使用 C 语言连接到 SQL Server 数据库并进行增删改查的示例代码:

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

int main() { // 连接到数据库 SQLHENV env; SQLHDBC dbc; SQLHSTMT stmt; SQLRETURN ret;

// 初始化 ODBC ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env); ret = SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0); ret = SQLAllocHandle(SQL_HANDLE_DBC, env, &dbc);

// 连接到数据库服务器 SQLCHAR outstr[1024]; SQLSMALLINT outstrlen; ret = SQLDriverConnect(dbc, NULL, "Driver={SQL Server};Server=localhost;Database=test;UID=username;PWD=password", SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);

if (SQL_SUCCEEDED(ret)) { printf("Connected to the database\n");

// 创建 SQL 语句
char *query = "SELECT * FROM table";

// 分配语句句柄
ret = SQLAllocHandle(SQL_HANDLE_STMT, dbc, &stmt);

// 执行查询
ret = SQLExecDirect(stmt, query, SQL_NTS);

if (SQL_SUCCEEDED(ret)) {
  // 处理查询结果
  while (SQL_SUCCEEDED(ret = SQLFetch(stmt))) {
    // 获取列数
    SQLSMALLINT columns;
    ret = SQLNumResultCols(stmt, &columns);

    // 获取每一列的值
    for (int i = 1; i <= columns; i++) {
      // 获取列的信息
      SQLCHAR column_name[256];
      SQLSMALLINT name_len;
      SQLSMALLINT data_type;
      SQLULEN column_size;
      SQLSMALLINT decimal_digits;
      SQLSMALLINT nullable;
      ret = SQLDescribeCol(stmt, i, column_name, sizeof(column_name), &name_len, &data_type, &column_size, &decimal_digits, &nullable);

      // 根据列
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值