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

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

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

點擊繼續(xù)

點擊確定

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

復(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)用,點擊添加

選擇SQL Server

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


點擊下一頁

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

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

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

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

點擊高級

將字符集,修改為使用多字節(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)文章
sql to sqlalchemy 轉(zhuǎn)換的小例子
sql to sqlalchemy 轉(zhuǎn)換的小例子,需要的朋友可以參考一下2013-05-05
數(shù)據(jù)庫中的內(nèi)容字段被掛馬的替換方法 SQL注入
有時候有些數(shù)據(jù)庫被掛馬了,如果是sqlserver數(shù)據(jù)庫,就可以用下面的方法,不過,這樣的方法比較適合懂sqlserver的朋友,不過不懂的朋友也可以用,一些數(shù)據(jù)庫的在線管理程序替換。2009-08-08
SQL Server 2005作業(yè)設(shè)置定時任務(wù)
這篇文章主要介紹了SQL Server 2005作業(yè)設(shè)置定時任務(wù)的相關(guān)詳細(xì)步驟,需要的朋友可以參考下2017-01-01
SQl Function 創(chuàng)建函數(shù)實例介紹
這篇文章主要介紹了SQl Function 創(chuàng)建函數(shù)實例介紹,需要的朋友可以參考下2016-10-10
Sqlserver 2000/2005/2008 的收縮日志方法和清理日志方法
講解一下sql 2005日志怎么清理。一般情況下,SQL數(shù)據(jù)庫的收縮并不能很大程度上減小數(shù)據(jù)庫大小,其主要作用是收縮日志大小,應(yīng)當(dāng)定期進(jìn)行此操作以免數(shù)據(jù)庫日志過大2012-07-07
SQL使用登錄名連接數(shù)據(jù)庫報錯(錯誤代碼18456問題)
18456是因密碼或用戶名錯誤而使身份驗證失敗,如果用戶名密碼正確,則該登錄名沒有連接數(shù)據(jù)庫引擎權(quán)限,本文就來介紹一下解決方法,具有一定的參考價值,感興趣的可以了解一下2023-10-10

