c登录界面代码加数据库_C/C 代码编写
创始人
2024-11-22 04:06:01

创建数据库

1、打开SQL Server Management Studio,连接到数据库服务器。

c登录界面代码加数据库_C/C 代码编写(图片来源网络,侵删)

2、在“对象资源管理器”中,右键单击“数据库”,然后选择“新建数据库”。

3、输入数据库名称,LoginSystem。

4、点击“添加”按钮,为数据库添加登录名和密码。

5、点击“确定”按钮,完成数据库的创建。

创建表结构

1、在“对象资源管理器”中,展开刚刚创建的数据库LoginSystem。

2、右键单击“表”,然后选择“新建表”。

3、输入表名称,Users。

4、按照以下表格结构,添加字段和数据类型:

字段名 数据类型 说明
UserID int 用户ID,主键
UserName nvarchar(50) 用户名
Password nvarchar(50) 密码
Email nvarchar(50) 邮箱
PhoneNumber nvarchar(20) 电话号码

5、点击“保存”按钮,完成表结构的创建。

编写C代码连接数据库并实现登录功能

1、需要安装并配置SQL Server C/C++库,具体步骤请参考官方文档:https://docs.microsoft.com/enus/sql/connect/odbc/linuxmac/installingthemicrosoftodbcdriverforsqlserver?view=sqlserverver15#linuxmac

2、创建一个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. 登录系统 ");         printf("2. 注册新用户 ");         printf("请输入您的选择:");         scanf("%d", &choice);         getchar(); // 清除缓冲区的换行符         switch (choice) {             case 1:                 printf("请输入用户名:");                 scanf("%s", inputUserName);                 getchar(); // 清除缓冲区的换行符                 printf("请输入密码:");                 scanf("%s", inputPassword);                 getchar(); // 清除缓冲区的换行符                 check_password(inputUserName, inputPassword);                 break;             case 2:                 printf("请输入用户名:");                 scanf("%s", inputUserName);                 getchar(); // 清除缓冲区的换行符                 printf("请输入密码:");                 scanf("%s", inputPassword);                 getchar(); // 清除缓冲区的换行符                 printf("请输入邮箱:");                 scanf("%s", inputEmail);                 getchar(); // 清除缓冲区的换行符                 printf("请输入电话号码:");                 scanf("%s", inputPhoneNumber);                 getchar(); // 清除缓冲区的换行符                 register_user(inputUserName, inputPassword, inputEmail, inputPhoneNumber);                 break;             default:                 printf("无效的选择,请重新输入! ");                 break;         }     } } 

3、编译并运行代码:gcc login_system.c o login_system lodbc,然后运行生成的可执行文件:./login_system

相关内容

热门资讯

下一个航天亿级市场,藏在你手机... 商业航天的第一个大众市场来了。 过去很多年,商业航天始终面临一个问题:技术很热,但离普通人太远。 火...
【科普小知识】太空金属3D打印... 近日,中国科学院力学研究所联合中国科学院微小卫星创新研究院,利用轻舟试验飞船,成功完成太空金属增材制...
从没人做到抢着做,71台概念车... 刚结束的2026年北京车展,有一个令人震撼的数字,概念车多达71台,数量创下近几届A级车展之最。从自...
原创 1... 在以前,一提到激光雷达,很多人的第一反应就是“高端”、“昂贵”,仿佛是20万甚至30万以上高端车型的...
解散xAI ,马斯克和Anth... 文 | 字母AI 就在刚才,马斯克在X平台上发布了一条简短的声明:xAI从此以后不再是独立的公司,...