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

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 成都创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站制作、网站设计、外贸网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
2、在“对象资源管理器”中,右键单击“数据库”,然后选择“新建数据库”。
3、输入数据库名称,LoginSystem。
4、点击“添加”按钮,为数据库添加登录名和密码。
5、点击“确定”按钮,完成数据库的创建。
1、在“对象资源管理器”中,展开刚刚创建的数据库LoginSystem。
2、右键单击“表”,然后选择“新建表”。
3、输入表名称,Users。
4、按照以下表格结构,添加字段和数据类型:
| 字段名 | 数据类型 | 说明 |
| UserID | int | 用户ID,主键 |
| UserName | nvarchar(50) | 用户名 |
| Password | nvarchar(50) | 密码 |
| nvarchar(50) | 邮箱 | |
| PhoneNumber | nvarchar(20) | 电话号码 |
5、点击“保存”按钮,完成表结构的创建。
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。