【数据库课程设计】用户登录(一)
学生成绩管理系统
背景资料:
1) 一个学校有不同专业,不同年级的若干学生。2) 每个专业有不同的课程,每个学生选修不同的课程,每门课程被多个学生选修。3) 每个学生选修某门课程得到一个成绩。
设计要求:
4) 进行需求分析,编写数据字典。5) 设计E-R图。
1) 实现学生基本情况的录入、修改、删除等基本操作。对学生基本信息提供灵活的查询方式。2) 实现学生成绩的录入、修改、删除等基本操作。
3) 能方便的对学生成绩进行查询。4) 实现分类查询。5) 能够删除毕业学生的数据。6) 要有用户登陆和身份验证部分;
首先创建一个数据库StudentManage.mdf,新建第一个表:StudentAccount,其中ID设为主键+标识(Name用户名,Password密码,UserType账号类型)
我们刚开始先弄button,label,textbox,就这样排版,属性可以修改显示名称
右键查看代码,或者双击控件也能进去
连接数据库,这里工具里面直接搞
进入App.config设置一下数据库吧
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <connectionStrings> <add name="SQL" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\codeTEXT\SQL\StudentManage.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
回到Form代码界面,准备一些引用,
没学过C#,下面代码是模仿他人写的(以后会填坑?)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using System.Configuration; namespace ClassHomeWork { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static string UserName; public static string UserType; public static int ID; string connstr = ConfigurationManager.ConnectionStrings["StudentSql"].ConnectionString; //定义全局变量 获取类型+学号+id // 链接数据库,命名为connstr private void label2_Click(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(connstr); //一个数据库到conn的链接 string sql = "select Password,UserType,ID from StudentAcconut where Name='" + textBox1.Text + "'"; SqlCommand cmd = new SqlCommand(sql, conn); conn.Open();//打开连接 SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { string pwd = reader.GetString(0).Trim(); string utype = reader.GetString(1); int id = reader.GetInt32(2); if (pwd == textBox2.Text) { UserName = textBox1.Text; UserType = utype; ID = id; MessageBox.Show("系统登录成功,正在跳转主页面..."); // MainForm mainForm = new MainForm(); // mainForm.Show(); this.Hide(); } else { MessageBox.Show("密码错误!请再次输入!"); textBox2.Text = ""; } } else { MessageBox.Show("用户名不存在,请重新输入!"); textBox1.Text = ""; } } } }
运行结果(第一版没什么好说的)
哦哦,密码是不能给人家看的,属性设置一下吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~