新聞中心
創(chuàng)建數(shù)據(jù)庫
1、打開SQL Server Management Studio,連接到數(shù)據(jù)庫服務(wù)器。

“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來堅(jiān)持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場(chǎng),引領(lǐng)市場(chǎng)!
2、在“對(duì)象資源管理器”中,右鍵單擊“數(shù)據(jù)庫”,然后選擇“新建數(shù)據(jù)庫”。
3、輸入數(shù)據(jù)庫名稱,LoginSystem。
4、點(diǎn)擊“添加”按鈕,為數(shù)據(jù)庫添加登錄名和密碼。
5、點(diǎn)擊“確定”按鈕,完成數(shù)據(jù)庫的創(chuàng)建。
創(chuàng)建表結(jié)構(gòu)
1、在“對(duì)象資源管理器”中,展開剛剛創(chuàng)建的數(shù)據(jù)庫LoginSystem。
2、右鍵單擊“表”,然后選擇“新建表”。
3、輸入表名稱,Users。
4、按照以下表格結(jié)構(gòu),添加字段和數(shù)據(jù)類型:
| 字段名 | 數(shù)據(jù)類型 | 說明 |
| UserID | int | 用戶ID,主鍵 |
| UserName | nvarchar(50) | 用戶名 |
| Password | nvarchar(50) | 密碼 |
| nvarchar(50) | 郵箱 | |
| PhoneNumber | nvarchar(20) | 電話號(hào)碼 |
5、點(diǎn)擊“保存”按鈕,完成表結(jié)構(gòu)的創(chuàng)建。
編寫C代碼連接數(shù)據(jù)庫并實(shí)現(xiàn)登錄功能
1、需要安裝并配置SQL Server C/C++庫,具體步驟請(qǐng)參考官方文檔:https://docs.microsoft.com/enus/sql/connect/odbc/linuxmac/installingthemicrosoftodbcdriverforsqlserver?view=sqlserverver15#linuxmac
2、創(chuàng)建一個(gè)C文件,login_system.c,并編寫以下代碼:
#include#include #include #include #include #include void check_password(const char *username, const char *password); void register_user(const char *username, const char *password, const char *email, const char *phonenumber); int main() { SQLHENV env; SQLHDBC dbc; SQLHSTMT stmt; SQLRETURN ret; SQLCHAR userName[50]; SQLCHAR password[50]; SQLCHAR inputUserName[50]; SQLCHAR inputPassword[50]; SQLCHAR inputEmail[50]; SQLCHAR inputPhoneNumber[20]; int choice; AllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env); AllocHandle(SQL_HANDLE_DBC, env, &dbc); AllocHandle(SQL_HANDLE_STMT, dbc, &stmt); ret = SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0); ret = SQLAllocHandle(SQL_HANDLE_DBC, env, &dbc); ret = SQLDriverConnect(dbc, NULL, (SQLCHAR *)"DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=LoginSystem;UID=your_username;PWD=your_password", SQL_NTS, NULL, 0, NULL, SQL_DRIVER_COMPLETE); ret = SQLAllocHandle(SQL_HANDLE_STMT, dbc, &stmt); while (1) { printf("1. 登錄系統(tǒng) "); printf("2. 注冊(cè)新用戶 "); printf("請(qǐng)輸入您的選擇:"); scanf("%d", &choice); getchar(); // 清除緩沖區(qū)的換行符 switch (choice) { case 1: printf("請(qǐng)輸入用戶名:"); scanf("%s", inputUserName); getchar(); // 清除緩沖區(qū)的換行符 printf("請(qǐng)輸入密碼:"); scanf("%s", inputPassword); getchar(); // 清除緩沖區(qū)的換行符 check_password(inputUserName, inputPassword); break; case 2: printf("請(qǐng)輸入用戶名:"); scanf("%s", inputUserName); getchar(); // 清除緩沖區(qū)的換行符 printf("請(qǐng)輸入密碼:"); scanf("%s", inputPassword); getchar(); // 清除緩沖區(qū)的換行符 printf("請(qǐng)輸入郵箱:"); scanf("%s", inputEmail); getchar(); // 清除緩沖區(qū)的換行符 printf("請(qǐng)輸入電話號(hào)碼:"); scanf("%s", inputPhoneNumber); getchar(); // 清除緩沖區(qū)的換行符 register_user(inputUserName, inputPassword, inputEmail, inputPhoneNumber); break; default: printf("無效的選擇,請(qǐng)重新輸入! "); break; } } }
3、編譯并運(yùn)行代碼:gcc login_system.c o login_system lodbc,然后運(yùn)行生成的可執(zhí)行文件:./login_system。
當(dāng)前文章:c登錄界面代碼加數(shù)據(jù)庫_C/C 代碼編寫
轉(zhuǎn)載來于:http://m.fisionsoft.com.cn/article/dpjecoe.html


咨詢
建站咨詢
