C语言连接SQLSERVER数据库

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 原文:C语言连接SQLSERVER数据库 第一步:配置ODBC。在配置ODBC时有用户DSN、系统DSN、和文件DSN三种方法,为了稳妥起见,采用系统DSN。 DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开VC,建一个win32 Console App...
原文: C语言连接SQLSERVER数据库

第一步:配置ODBC。在配置ODBC时有用户DSN、系统DSN、和文件DSN三种方法,为了稳妥起见,采用系统DSN。

DSN的名字叫LocalServer,帐号:sa,密码123456

第二步:打开VC,建一个win32 Console Application工程,名字随便都可以;

第三步:新建一个文件,文件名随便都可以;

第四步:拷贝如下代码:




#include <stdio.h>
#include <windows.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <odbcss.h>
int main()
{
 void sqlConnect();
 sqlConnect();
 getchar();
 return 0;
}
void sqlConnect()
{
 SQLHENV henv;
 SQLHDBC hdbc;
 SQLHSTMT hstmt;
 SQLRETURN retcode;
 UCHAR sql1[79]="select No from Student where Name='jim'";

 retcode=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
 if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
 {

  retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
  if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
  {

   retcode=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
   if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
   {

    retcode=SQLConnect(hdbc,(SQLCHAR*)"LocalServer",SQL_NTS,(SQLCHAR*)"sa",SQL_NTS,(SQLCHAR*)"123456",SQL_NTS);
    if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
    {

     retcode=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
     if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS)
     {

      //绑定参数方式
      char a[20]="Jim";
      SQLINTEGER p=SQL_NTS;
      //1.预编译
      SQLPrepare(hstmt,sql1,79);//第三个参数与数组大小相同,而不是数据库列相同
      //2.绑定参数值
      SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&a,0,&p);
      SQLExecute(hstmt);
      printf("connection is OK\n");
      //SQLExecDirect(hstmt,sql1,79);
      char list[5];
      SQLBindCol(hstmt,1,SQL_C_CHAR,list,5,0);
      SQLFetch(hstmt);
      printf("%s\n",list);
     }
     SQLDisconnect(hdbc);
    }
    SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
   }
  }
 }
}

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2天前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
16 11
|
9天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
21 0
|
12天前
|
SQL 存储 调度
|
12天前
|
SQL 安全 数据库
|
12天前
|
SQL 存储 监控
|
22天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
102 2
|
17天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
21天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
18天前
|
人工智能 小程序 关系型数据库
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
本文以热门游戏《黑神话:悟空》为契机,深入浅出地解析了数据库事务的四种隔离级别:读未提交、读已提交、可重复读和串行化。通过具体示例,展示了不同隔离级别下的事务行为差异及可能遇到的问题,如脏读、不可重复读和幻读等。此外,还介绍了在MySQL中设置隔离级别的方法,包括全局和会话级别的调整,并通过实操演示了各隔离级别下的具体效果。本文旨在帮助开发者更好地理解和运用事务隔离级别,以提升数据库应用的一致性和性能。
95 2
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
|
23天前
|
数据可视化 关系型数据库 MySQL
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
这篇文章介绍了如何在Windows 11系统下跳过MySQL 8的密钥校验,并通过命令行修改root用户的密码。
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?