Visual Studio2022连接SQL Server数据库的详细图文教程

 更新时间:2023年06月10日 14:33:17   作者:BeinWong  
在visual studio中经常会用到SQL的数据,关于数据连接总是会出现一系列的问题,下面这篇文章主要给大家介绍了关于Visual Studio2022连接SQL Server数据库的详细图文教程,需要的朋友可以参考下

本文基于Visual Studio2022和SQL Server2008通过ODBC将数据库与后端连接在一起。

一、软件准备

1. 安装Visual Studio2022

Visual Studio2022安装包下载官网点击免费下载,或者点击这里下载

下载完安装包,双击安装包,点击继续

这里勾选使用C++的桌面开发数据存储和处理。有需要更改默认安装路径的要在第3步更改,不需要无需做第3步

点击继续

点击确定

二、环境配置

1. 创建数据库

点击新建查询

复制下面代码执行,创建数据库

CREATE DATABASE [Test] ON  PRIMARY 
( NAME = N'Test', FILENAME = N'D:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Test.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'Test_log', FILENAME = N'D:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
use Test
go
create table baseInfor(no int, name char(20), passWord char(10), other  char(20))
go
insert into baseInfor values(1001, '学生1', '1001', '计算机科学与技术'),
				            (1001, '老师1', '1001', '讲师'),
				            (2001, '管理员', '2001', '管理员')
go

2. 利用ODBC建立连接

在搜索框搜索ODBC,选择对应的位数。本例以ODBC64位为例

进去应用,点击添加

选择SQL Server

名称填数据库名,服务器复制刚进去SQL Server的服务器名称(如下图),点击完成

点击下一页

这里方框中要选中刚才创建的数据库

点击测试数据源

如果显示如下图的样子,恭喜你第一步成功,如果不是,请对照以上步骤,看哪里做错了

三、连接数据库

1. Visual Studio2022测试连接数据库

新建项目后,先点击调试,后点击工程的调试属性

点击高级

将字符集,修改为使用多字节字符集

测试代码,如果显示如下图结果,恭喜你数据库连接成功了

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
#include<sqltypes.h>
SQLRETURN ret;
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
void Connect() {
	ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
	ret = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, SQL_IS_INTEGER);
	ret = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
	ret = SQLConnect(hdbc, (unsigned char*)"Test", SQL_NTS, (unsigned char*)"sa", SQL_NTS, (unsigned char*)"", SQL_NTS);
	if (!(ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)) {
		printf("连接数据库失败!\n");
		return;
	}
	ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
}
void free() {
	SQLDisconnect(hdbc);
	SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
	SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
void showStu() {
	Connect();
	SQLPrepare(hstmt, (SQLCHAR*)("select * from Test.dbo.baseInfor"), SQL_NTS);
	ret = SQLExecute(hstmt);
	if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
		SQLCHAR str1[20], str2[20], str3[20], str4[20];
		SQLLEN len_str1, len_str2, len_str3, len_str4;
		while (SQLFetch(hstmt) != SQL_NO_DATA) {
			SQLGetData(hstmt, 1, SQL_C_CHAR, str1, 20, &len_str1);
			SQLGetData(hstmt, 2, SQL_C_CHAR, str2, 20, &len_str2);
			SQLGetData(hstmt, 3, SQL_C_CHAR, str3, 20, &len_str3);
			SQLGetData(hstmt, 4, SQL_C_CHAR, str4, 20, &len_str4);
			printf("%s\t%s\t%s\t%s\n", str1, str2, str3, str4);
		}
	}
	free();
}
int main() {
	showStu();
	return 0;
}

总结

到此这篇关于Visual Studio2022连接SQL Server数据库的文章就介绍到这了,更多相关Visual Studio2022连接SQLServer内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • SQL Server解决游标性能问题的替代方案

    SQL Server解决游标性能问题的替代方案

    游标是一种能从包含多个元组的集合中每次读取一个元组的机制,游标总是和一段SELECT语句关联,SELECT语句查询出的结果集就作为集合,游标能每次从该集合中读取出一个元组进行不同操作,但在某些情况下,它们可能会导致性能问题,本介绍了SQL Server解决游标性能问题的替代方案
    2024-12-12
  • sql to sqlalchemy 转换的小例子

    sql to sqlalchemy 转换的小例子

    sql to sqlalchemy 转换的小例子,需要的朋友可以参考一下
    2013-05-05
  • 数据库中的内容字段被挂马的替换方法 SQL注入

    数据库中的内容字段被挂马的替换方法 SQL注入

    有时候有些数据库被挂马了,如果是sqlserver数据库,就可以用下面的方法,不过,这样的方法比较适合懂sqlserver的朋友,不过不懂的朋友也可以用,一些数据库的在线管理程序替换。
    2009-08-08
  • SQL Server 2005作业设置定时任务

    SQL Server 2005作业设置定时任务

    这篇文章主要介绍了SQL Server 2005作业设置定时任务的相关详细步骤,需要的朋友可以参考下
    2017-01-01
  • SQL Server数据汇总五招轻松搞定

    SQL Server数据汇总五招轻松搞定

    有些时候你想让SQL Server 返回一个聚集结果集合,而不是一个详细的结果集。SQL Server的GROUPBY子句,为你提供了一种聚合SQL Server数据的方式。GROUPBY子句允许你在一列或多列数据甚至是表达式上进行分组操作,在这篇文章中,我将讨论如何使用GROUPBY子句来汇总数据。
    2015-09-09
  • SQl Function 创建函数实例介绍

    SQl Function 创建函数实例介绍

    这篇文章主要介绍了SQl Function 创建函数实例介绍,需要的朋友可以参考下
    2016-10-10
  • SQL Server 全文搜索功能介绍

    SQL Server 全文搜索功能介绍

    SQL Server 的全文搜索(Full-Text Search)是基于分词的文本检索功能,依赖于全文索引。下面通过本文给大家介绍SQL Server 全文搜索功能介绍,需要的朋友参考下吧
    2017-12-12
  • Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

    Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

    讲解一下sql 2005日志怎么清理。一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
    2012-07-07
  • SQL使用登录名连接数据库报错(错误代码18456问题)

    SQL使用登录名连接数据库报错(错误代码18456问题)

    18456是因密码或用户名错误而使身份验证失败,如果用户名密码正确,则该登录名没有连接数据库引擎权限,本文就来介绍一下解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • SQL Server如何建表的详细图文教程

    SQL Server如何建表的详细图文教程

    创建表之前一定要先了解数据类型与约束,这样我们才能创建正确的表,下面这篇文章主要给大家介绍了关于SQL Server如何建表的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-10-10

最新评论