关于c++对SQLServer的连接

一.关于c++对SQLServer的连接通信

注明我用的是sqlserver2008r2与visual studio2019preview,其实sqlserver2008以上和vs2015以上应该也行的。

1.先配置数据源
在这里插入图片描述
需要注意的是,这里vs应该选32位的(虽然我电脑是64位的),我试过64位的,连接不上。
2. 点击32位数据源后,按图片红框框来
在这里插入图片描述
添加一个数据源
在这里插入图片描述
或许你会问电脑服务器是什么:
打开sqlsever后在这里插入图片描述
在这里插入图片描述
这就是默认的。然后输进去然后 按图
在这里插入图片描述
ID是sa,密码自己设置的。有朋友问自己数据库一直是windows用户默认的,那就按下面来:
在这里插入图片描述
在这里插入图片描述
右击sa的属性:重新设置密码(记住不要下图)
在这里插入图片描述
在这里插入图片描述
然后我们确认,退出数据库
在这里插入图片描述
按这个在这里插入图片描述
然后重新用sa登陆就可以了,(可以把sql关了)在这里插入图片描述
记住把默认数据库设为你创建的,我的是educ,你改为自己设计的数据库名字。
之后
在这里插入图片描述
成功就行了。
然后确定确定。。
最后
在这里插入图片描述

二.操作vs

正常的创建新的项目,然后就按你怎么写c++方式来

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <odbcss.h>
#define MAXBUFLEN 255
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
SQLHSTMT hstmt1 = SQL_NULL_HSTMT;

/* cpp文件功能说明:
1.数据库操作中的添加,修改,删除,主要体现在SQL语句上a
2.采用直接执行方式和参数预编译执行方式两种
*/

int main()
{
RETCODE retcode;

UCHAR   szDSN[15] = "mysql"; //数据源名称
UCHAR userID[6] = "sa";//数据库用户ID
UCHAR passWORD[29] = "123456";//用户密码

//1.连接数据源  
//1.环境句柄   
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
//2.连接句柄    
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);
retcode = SQLConnect(hdbc1, szDSN, SQL_NTS, userID, SQL_NTS, passWORD, SQL_NTS);
//判断连接是否成功   
if ((retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO))
{
	printf("连接失败!\n");
}
else
{
	/*
	1.分配一个语句句柄(statement handle)
	2.创建SQL语句
	3.执行语句
	4.销毁语句
	*/
	retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);
	char sql[100] = "insert into lan values(22,122)";
	retcode = SQLExecDirect(hstmt1, (SQLCHAR*)sql, strlen(sql));
	printf("操作成功!");
	//释放语句句柄 
	retcode = SQLCloseCursor(hstmt1);
	retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmt1);
}
//3.断开数据库连接
/*
1. 断开数据库连接
2.释放连接句柄.
3.释放环境句柄(如果不再需要在这个环境中作更多连接)
*/
SQLDisconnect(hdbc1);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return(0);

}
当然我这代码是借用另一个博客的

链接: https://blog.csdn.net/nanyouwsh/article/details/47681903/?tdsourcetag=s_pcqq_aiomsg.

他就是64位的代表。。。。
然后运行一下,成功了!
在这里插入图片描述
在这里插入图片描述

好了成功了谢谢观看

对了,如果是qt的话,请看教程(这个数据源是64位)
https://blog.csdn.net/YJin_Woo/article/details/78821924
.

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值