Visual?Studio2022連接SQL?Server數(shù)據(jù)庫的詳細(xì)圖文教程
本文基于Visual Studio2022和SQL Server2008通過ODBC將數(shù)據(jù)庫與后端連接在一起。
一、軟件準(zhǔn)備
1. 安裝Visual Studio2022
Visual Studio2022安裝包下載官網(wǎng),點(diǎn)擊免費(fèi)下載,或者點(diǎn)擊這里下載

下載完安裝包,雙擊安裝包,點(diǎn)擊繼續(xù)

這里勾選使用C++的桌面開發(fā)和數(shù)據(jù)存儲和處理。有需要更改默認(rèn)安裝路徑的要在第3步更改,不需要無需做第3步

點(diǎn)擊繼續(xù)

點(diǎn)擊確定

二、環(huán)境配置
1. 創(chuàng)建數(shù)據(jù)庫
點(diǎn)擊新建查詢

復(fù)制下面代碼執(zhí)行,創(chuàng)建數(shù)據(jù)庫
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, '學(xué)生1', '1001', '計算機(jī)科學(xué)與技術(shù)'), (1001, '老師1', '1001', '講師'), (2001, '管理員', '2001', '管理員') go
2. 利用ODBC建立連接
在搜索框搜索ODBC,選擇對應(yīng)的位數(shù)。本例以O(shè)DBC64位為例

進(jìn)去應(yīng)用,點(diǎn)擊添加

選擇SQL Server

名稱填數(shù)據(jù)庫名,服務(wù)器復(fù)制剛進(jìn)去SQL Server的服務(wù)器名稱(如下圖),點(diǎn)擊完成


點(diǎn)擊下一頁

這里方框中要選中剛才創(chuàng)建的數(shù)據(jù)庫

點(diǎn)擊測試數(shù)據(jù)源

如果顯示如下圖的樣子,恭喜你第一步成功,如果不是,請對照以上步驟,看哪里做錯了

三、連接數(shù)據(jù)庫
1. Visual Studio2022測試連接數(shù)據(jù)庫
新建項目后,先點(diǎn)擊調(diào)試,后點(diǎn)擊工程的調(diào)試屬性

點(diǎn)擊高級

將字符集,修改為使用多字節(jié)字符集

測試代碼,如果顯示如下圖結(jié)果,恭喜你數(shù)據(jù)庫連接成功了
#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("連接數(shù)據(jù)庫失敗!\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;
}
總結(jié)
到此這篇關(guān)于Visual Studio2022連接SQL Server數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Visual Studio2022連接SQLServer內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一些文件未注冊導(dǎo)致mssql表文件無法找開的解決方法
只需要按下面的步驟注冊一些文件,即可。2009-09-09
在SQL Server的try...catch語句中獲取錯誤消息代碼的的語句
本文為大家詳細(xì)介紹下如何在SQL Server的try...catch語句中獲取錯誤消息的代碼,具體示例如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07
SQL Server SQL Agent服務(wù)使用教程小結(jié)
SQL Server SQL Agent服務(wù)使用教程小結(jié)...2007-03-03
SQLserver中字符串查找功能patindex和charindex的區(qū)別
CHARINDEX 和 PATINDEX 函數(shù)都返回指定模式的開始位置,PATINDEX 可使用通配符,而 CHARINDEX 不可以2012-05-05
SQLserver中cube:多維數(shù)據(jù)集實例詳解
這篇文章主要介紹了SQLserver中cube:多維數(shù)據(jù)集實例詳解,具有一定參考價值,需要的朋友可以了解下。2017-10-10
將表數(shù)據(jù)生成Insert腳本 比較好用的生成插入語句的SQL腳本
比較好用的生成插入語句的SQL腳本 將表數(shù)據(jù)生成Insert腳本2010-05-05

