Visual?Studio2022連接SQL?Server數(shù)據(jù)庫(kù)的詳細(xì)圖文教程
本文基于Visual Studio2022和SQL Server2008通過ODBC將數(shù)據(jù)庫(kù)與后端連接在一起。
一、軟件準(zhǔn)備
1. 安裝Visual Studio2022
Visual Studio2022安裝包下載官網(wǎng),點(diǎn)擊免費(fèi)下載,或者點(diǎn)擊這里下載
下載完安裝包,雙擊安裝包,點(diǎn)擊繼續(xù)
這里勾選使用C++的桌面開發(fā)和數(shù)據(jù)存儲(chǔ)和處理。有需要更改默認(rèn)安裝路徑的要在第3步更改,不需要無需做第3步
點(diǎn)擊繼續(xù)
點(diǎn)擊確定
二、環(huán)境配置
1. 創(chuàng)建數(shù)據(jù)庫(kù)
點(diǎn)擊新建查詢
復(fù)制下面代碼執(zhí)行,創(chuàng)建數(shù)據(jù)庫(kù)
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ì)算機(jī)科學(xué)與技術(shù)'), (1001, '老師1', '1001', '講師'), (2001, '管理員', '2001', '管理員') go
2. 利用ODBC建立連接
在搜索框搜索ODBC,選擇對(duì)應(yīng)的位數(shù)。本例以O(shè)DBC64位為例
進(jìn)去應(yīng)用,點(diǎn)擊添加
選擇SQL Server
名稱填數(shù)據(jù)庫(kù)名,服務(wù)器復(fù)制剛進(jìn)去SQL Server的服務(wù)器名稱(如下圖),點(diǎn)擊完成
點(diǎn)擊下一頁(yè)
這里方框中要選中剛才創(chuàng)建的數(shù)據(jù)庫(kù)
點(diǎn)擊測(cè)試數(shù)據(jù)源
如果顯示如下圖的樣子,恭喜你第一步成功,如果不是,請(qǐng)對(duì)照以上步驟,看哪里做錯(cuò)了
三、連接數(shù)據(jù)庫(kù)
1. Visual Studio2022測(cè)試連接數(shù)據(jù)庫(kù)
新建項(xiàng)目后,先點(diǎn)擊調(diào)試,后點(diǎn)擊工程的調(diào)試屬性
點(diǎn)擊高級(jí)
將字符集,修改為使用多字節(jié)字符集
測(cè)試代碼,如果顯示如下圖結(jié)果,恭喜你數(shù)據(jù)庫(kù)連接成功了
#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ù)庫(kù)失敗!\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ù)庫(kù)的文章就介紹到這了,更多相關(guān)Visual Studio2022連接SQLServer內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sql to sqlalchemy 轉(zhuǎn)換的小例子
sql to sqlalchemy 轉(zhuǎn)換的小例子,需要的朋友可以參考一下2013-05-05數(shù)據(jù)庫(kù)中的內(nèi)容字段被掛馬的替換方法 SQL注入
有時(shí)候有些數(shù)據(jù)庫(kù)被掛馬了,如果是sqlserver數(shù)據(jù)庫(kù),就可以用下面的方法,不過,這樣的方法比較適合懂sqlserver的朋友,不過不懂的朋友也可以用,一些數(shù)據(jù)庫(kù)的在線管理程序替換。2009-08-08SQL Server 2005作業(yè)設(shè)置定時(shí)任務(wù)
這篇文章主要介紹了SQL Server 2005作業(yè)設(shè)置定時(shí)任務(wù)的相關(guān)詳細(xì)步驟,需要的朋友可以參考下2017-01-01SQl Function 創(chuàng)建函數(shù)實(shí)例介紹
這篇文章主要介紹了SQl Function 創(chuàng)建函數(shù)實(shí)例介紹,需要的朋友可以參考下2016-10-10Sqlserver 2000/2005/2008 的收縮日志方法和清理日志方法
講解一下sql 2005日志怎么清理。一般情況下,SQL數(shù)據(jù)庫(kù)的收縮并不能很大程度上減小數(shù)據(jù)庫(kù)大小,其主要作用是收縮日志大小,應(yīng)當(dāng)定期進(jìn)行此操作以免數(shù)據(jù)庫(kù)日志過大2012-07-07SQL使用登錄名連接數(shù)據(jù)庫(kù)報(bào)錯(cuò)(錯(cuò)誤代碼18456問題)
18456是因密碼或用戶名錯(cuò)誤而使身份驗(yàn)證失敗,如果用戶名密碼正確,則該登錄名沒有連接數(shù)據(jù)庫(kù)引擎權(quán)限,本文就來介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10