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

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

這里勾選使用C++的桌面開發(fā)和數(shù)據(jù)存儲和處理。有需要更改默認安裝路徑的要在第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', '計算機科學(xué)與技術(shù)'), (1001, '老師1', '1001', '講師'), (2001, '管理員', '2001', '管理員') go
2. 利用ODBC建立連接
在搜索框搜索ODBC,選擇對應(yīng)的位數(shù)。本例以O(shè)DBC64位為例

進去應(yīng)用,點擊添加

選擇SQL Server

名稱填數(shù)據(jù)庫名,服務(wù)器復(fù)制剛進去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)文章
一些文件未注冊導(dǎo)致mssql表文件無法找開的解決方法
只需要按下面的步驟注冊一些文件,即可。2009-09-09
在SQL Server的try...catch語句中獲取錯誤消息代碼的的語句
本文為大家詳細介紹下如何在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

