在VS下用C语言连接SQLServer2008
step1:启动SQLSERVER服务
step2:打建立数据库test,在test库中建立test表(a varchar(200),b varchar(200))
step3:建立系统DSN,开始菜单 ->运行 ->odbcad32,
添加->SQL SERVER Native Client 10.0
名称:csql,服务器:localhost
使用用户使用登录ID和密码的SQLSERVER验证,登录ID:sa,密码:pass
更改默认的数据库为:test
...
测试数据源,测试成功,即DNS添加成功。
-------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <odbcss.h>
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
SQLHSTMT hstmt1 = SQL_NULL_HSTMT;
/*
cpp文件功能说明:
1.数据库操作中的添加,修改,删除,主要体现在SQL语句上
2.采用直接执行方式和参数预编译执行方式两种
*/
int main(){
char a[200]="bbb";
char b[200]="200";
SQLINTEGER p;
RETCODE retcode;
UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "csql",
szUID[MAXNAME] = "sa",
szAuthStr[MAXNAME] = "pass";
//SQL语句
//直接SQL语句
UCHAR sql[37] = "insert into test values('aaa','100')";
//预编译SQL语句
UCHAR pre_sql[29] = "insert into test values(?,?)";
//1.连接数据源
//分配ODBC环境句柄
retcode = SQLAllocHandle (SQL_HANDLE_ENV, NULL, &henv);
// 告诉ODBC这是一个3.0标准的应用程序
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
// 分配连接句柄并建立连接
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);
retcode = SQLConnect(hdbc1, szDSN,(SWORD)strlen(szDSN), szUID,(SWORD)strlen(szUID), szAuthStr,(SWORD)strlen(szAuthStr));
//判断连接是否成功
if ( (retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO) ) {
printf("连接失败!\n");
} else {
//2.创建并执行一条或多条SQL语句
/*
1.分配一个语句句柄(statement handle)
2.创建SQL语句
3.执行语句
4.销毁语句
*/
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);
//第一种方式
//直接执行
//添加操作
//SQLExecDirect (hstmt1,sql,37);
//第二种方式
//绑定参数方式
p = SQL_NTS;
//1预编译
SQLPrepare(hstmt1,pre_sql,29); //第三个参数与数组大小相同,而不是数据库列相同
//2绑定参数值
SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&a,0,&p);
SQLBindParameter(hstmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&b,0,&p);
//3 执行
SQLExecute(hstmt1);
printf("操作成功!");
//释放语句句柄
SQLCloseCursor (hstmt1);
SQLFreeHandle (SQL_HANDLE_STMT, hstmt1);
}
//3.断开数据源
/*
1.断开与数据源的连接.
2.释放连接句柄.
3.释放环境句柄(如果不再需要在这个环境中作更多连接)
*/
SQLDisconnect(hdbc1);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
system("pause");
return(0);
}
-------------------------------------------------------------------------------------------------------------------------------------
注意,表名不能取mh_login,只能login
转载于:https://www.cnblogs.com/lonelyxmas/p/4153032.html
在VS下用C语言连接SQLServer2008相关推荐
- c语言sqlserver进行odbc编程,在VS下用C语言连接SQLServer2008
原文: 在VS下用C语言连接SQLServer2008 step1:启动SQLSERVER服务 step2:打建立数据库test,在test库中建立test表(a varchar(200),b var ...
- Linux 下用C语言连接 sqlite
1.在 /home/ 新建一个文件夹名为 sqlite #cd /home #mkdir sqlite 2.编写C语言代码,名称为 sql.c,代码如下 // name: sql.c // This ...
- win10 mfc 连接mysql_win10下使用c语言连接mysql
准备工作:clion和cmake 第一步:下载库文件 第二部:配置CMakeList.txt //头文件目录 set(INC_DIR F:/c/mysql-connector-c-6.1.11-win ...
- linux下c语言调用mysql,Linux下C语言连接MySQL
首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-client 2:安装MySQL开发包:sudo apt-get install l ...
- c语言 mysql_bind,C语言连接SQLSERVER数据库
第一步:配置ODBC.在配置ODBC时有用户DSN.系统DSN.和文件DSN三种方法,为了稳妥起见,采用系统DSN. DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开V ...
- c语言 连接 mysql,C语言连接mysql -select
C语言实现查询mysql数据库的行数,列的属性,以及每条记录. /* select.c */ #include #include #include #include "/usr/includ ...
- Windows下C语言连接Oracle数据库
为什么80%的码农都做不了架构师?>>> 最近公司有个项目需要用到Oracle数据库,我负责前期的调研.由于项目要用到C和PHP两种语言,所以先收集这两种语言连接Oracle的 ...
- Linux下用C语言最基本的程序开发与调试
1.建一个目录 2.写代码,建一个hello.c文件 代码: view plaincopy to clipboardprint? #include "stdio.h" main() ...
- R语言命令行写linux,linux命令行下使用R语言绘图实例讲解
使用系统:centos 6.4 64bit 在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片. 但是如果你是通过shell远程连接到系统上 ...
最新文章
- 一行预处理代码,让你的CV模型更强!Google出品
- img 标签 访问图片 返回403 forbidden问题
- python wxpython backend wxagg_[宜配屋]听图阁
- 《openssl 编程》之 RSA(转)
- 【算法】学习笔记(5):快速排序
- 如何给网页标题添加icon小图标
- 如何在Windows的PHPstudy中使用redis数据库
- CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码...
- python链接mysql的代码
- 非参数统计之局部多项式回归
- win10家庭中文版升级专业版心得
- MongoDB实战-生产环境中分片的部署与配置
- 深度学习 + 基因组学:破译人类 30 亿碱基对
- rust future async/await
- 如何清除Word文档中的格式
- python从小白到大牛百度云盘_Python从小白到大牛
- HTML css jQuery实现导航栏(华丽动画)
- IT界的兄弟姐妹们,大家好。
- 计算机类国家网络安全学院,武汉大学国家网络安全学院
- hive split取倒数第二位
热门文章
- qteewidgetitem添加子节点_行为树的节点
- php网课资源百度云盘_安全中国PHP网站开发工程师就业指导班 35课 附课件、源码,全套视频教程学习资料通过百度云网盘下载...
- nginx 转发慢_为啥 Nginx 能轻松淦到几万并发?
- c语言fread无法存储,【求助】C语言fread读取二进制文件时,读取结果全都是零
- 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?
- php-cgi 重启,自动监测和重启 FastCGI 服务
- 宾阳 计算机 培训,宾阳县职业技术学校
- bartender一行打印两个二次开发_C++ 智能指针和二叉树:图解层序遍历和逐层打印二叉树...
- 导入eclipse项目运行时run as no application
- 《本人娶刘亦菲的可行性报告》原文