.net网站内容管理系统(MicrosoftVisualStudioWindows窗体应用(.NETFramework)学习目标)

优采云 发布时间: 2022-02-03 00:28

  .net网站内容管理系统(MicrosoftVisualStudioWindows窗体应用(.NETFramework)学习目标)

  (学习目标:用.net形式做一个*敏*感*词*管理系统,可以满足*敏*感*词*、班级信息、年级信息的增删改查。)

  Day 2:登录界面的实现

  任务:在Microsoft Visual Studio 中新建一个Windows Forms 应用项目并实现登录界面。

  1.打开 Microsoft Visual Studio 并创建一个新的表单应用程序。

  

  选择 Windows 窗体应用程序 (.NET Framework),然后单击下一步

  

  在此处将项目名称命名为 WinStudent,然后单击 Create。

  2.登录界面布局。

  

  第一步:在属性面板中将登录界面名称更改为frmLogin。

  

  第二步:MaximizeBox(是否最大化)改为True。

  

  第 3 步:将文本(窗口标题栏)更改为“登录界面”。

  第4步:将两个Button(登录按钮、注销按钮)、三个Label和两个TextBox(帐户、密码)拖到表单中。

  

  第五步:将按钮拖到上图位置,完成布局,将其Text属性改为上图样式。账号文本框的Name属性为:txtUserName,密码文本框的Name属性为:txtUserPwd,登录按钮的Name属性为:btnLogin,退出按钮的Name属性为:btnExit,颜色为BacaColor属性可以随意更改为您喜欢的颜色。

  3.函数实现。

  

  第一步:双击登录按钮,进入登录按钮事件。

  1 private void btnLogin_Click(object sender, EventArgs e)

2 {

3 //步骤1:获取用户的输入信息

4 string uName = txtUserName.Text.Trim();

5 string uPwd = txtUserPwd.Text.Trim();

6 //步骤2:判断是否为空

7 if (string.IsNullOrEmpty(uName))

8 {

9 MessageBox.Show("请输入账号", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

10 txtUserName.Focus();

11 return;

12 }

13 if (string.IsNullOrEmpty(uPwd))

14 {

15 MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

16 txtUserPwd.Focus();

17 return;

18 }

19

20

21 }

22

23

  第二步:先用两个变量分别获取账号和密码文本框中的值。然后判断值是否为空,代码如上。

  1 private void btnLogin_Click(object sender, EventArgs e)

2 {

3 //步骤1:获取用户的输入信息

4 string uName = txtUserName.Text.Trim();

5 string uPwd = txtUserPwd.Text.Trim();

6 //步骤2:判断是否为空

7 if (string.IsNullOrEmpty(uName))

8 {

9 MessageBox.Show("请输入账号", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

10 txtUserName.Focus();

11 return;

12 }

13 if (string.IsNullOrEmpty(uPwd))

14 {

15 MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

16 txtUserPwd.Focus();

17 return;

18 }

19 //步骤3:与数据库通信,检查输入与数据库中的数据是否一致

20

21

22 // 1.建立与数据库的通信

23 // 连接字符串

24 ///*string connString = "server=.;database=StudentNewDB;Integrated Security=true";//Windows 身份验证方法*/

25 string connString = "server=.;database=StudentNewDB;uid=sa;pwd=123456";//Server身份验证

26 Data Sorce Initial Catalog User ID Password

27 SqlConnection conn = new SqlConnection(connString);

28 2.写查询语句

29 string sql = "select count(1) from UserInfo where UserName = @UserName and UserPwd = @UserPwd";//参数化sql

30 添加参数

31 SqlParameter paraUName = new SqlParameter("@UserName",uName);

32 SqlParameter paraUPwd = new SqlParameter("@UserPwd", uPwd);

33 SqlParameter[] paras = {

34 new SqlParameter("@UserName",uName),

35 new SqlParameter("@UserPwd", uPwd)

36 };

37 3.创建Command对象

38 SqlCommand cmd = new SqlCommand(sql, conn);

39 // cmd.CommandType = CommandType.StoredProcedure;如果执行存储过程就要写这个

40 cmd.Parameters.Clear();

41 cmd.Parameters.AddRange(paras);

42 cmd.Parameters.Add(paraUName);

43 cmd.Parameters.Add(paraUPwd);

44 4.打开连接

45 conn.Open();//最晚打开,最早关闭

46 //5.执行命令 要求状态为opend

47 object o = cmd.ExecuteScalar();//执行查询,返回结果第一行第一列的值,忽略其他行或列

48 //6.关闭连接

49 conn.Close();

50

51

52

53

54 }

55

56

  第三步:连接数据库,执行sql查询语句。sql语句最好采用参数化的形式避免注入,然后创建Command对象并传递参数,最后打开连接,使用对象类型值接收查询结果,接收结束。只需关闭连接。

  1private void btnLogin_Click(object sender, EventArgs e)

2 {

3 //步骤1:获取用户的输入信息

4 string uName = txtUserName.Text.Trim();

5 string uPwd = txtUserPwd.Text.Trim();

6 //步骤2:判断是否为空

7 if (string.IsNullOrEmpty(uName))

8 {

9 MessageBox.Show("请输入账号", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

10 txtUserName.Focus();

11 return;

12 }

13 if (string.IsNullOrEmpty(uPwd))

14 {

15 MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

16 txtUserPwd.Focus();

17 return;

18 }

19 //步骤3:与数据库通信,检查输入与数据库中的数据是否一致

20

21

22 // 1.建立与数据库的通信

23 // 连接字符串

24 ///*string connString = "server=.;database=StudentNewDB;Integrated Security=true";//Windows 身份验证方法*/

25 string connString = "server=.;database=StudentNewDB;uid=sa;pwd=123456";//Server身份验证

26 Data Sorce Initial Catalog User ID Password

27 SqlConnection conn = new SqlConnection(connString);

28 2.写查询语句

29 string sql = "select count(1) from UserInfo where UserName = @UserName and UserPwd = @UserPwd";//参数化sql

30 添加参数

31 SqlParameter[] paras = {

32 new SqlParameter("@UserName",uName),

33 new SqlParameter("@UserPwd", uPwd)

34 };

35 3.创建Command对象

36 SqlCommand cmd = new SqlCommand(sql, conn);

37 // cmd.CommandType = CommandType.StoredProcedure;如果执行存储过程就要写这个

38 cmd.Parameters.Clear();

39 cmd.Parameters.AddRange(paras);

40 4.打开连接

41 conn.Open();//最晚打开,最早关闭

42 //5.执行命令 要求状态为opend

43 object o = cmd.ExecuteScalar();//执行查询,返回结果第一行第一列的值,忽略其他行或列

44 //6.关闭连接

45 conn.Close();

46 //步骤四:判断是否有这个用户信息。

47 if (o == null || o == DBNull.Value || ((int)o) == 0)//如果返回值不为空说明该账户存在,如果为空说明该用户不存在。

48 {

49 MessageBox.Show("登录账号或密码有错,请检查!", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

50 txtUserName.Focus();

51 return;

52 }

53 else

54 {

55

56 MessageBox.Show("登录成功", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

57 //转到主页面

58 FrmMain fmain = new FrmMain();

59 fmain.Show();

60 this.Hide();

61

62 }

63

64

65

66 }

67

68

  第四步:取出返回值进行判断,如果不为空则表示该用户存在于数据库中,如果为空则表示该用户不存在于数据库中,并分别给出相应的提示。

  至此登录按钮已经实现。

  1 private void btnExit_Click(object sender, EventArgs e)

2 {

3 this.Close();

4 }

5

6

  第五步:双击表单上的退出按钮,进入退出事件,编写退出代码。

  还实现了退出功能。

  4.测试。

  

  第一步:在数据库中创建两个用户的登录信息。

  

  第 2 步:单击开始运行表单。

  

  第三步:故意输入错误密码测试。

  

  第四步:输入正确的账号密码,点击登录,登录成功。

  

  第五步:退出按键测试,发现没有问题。

  完成这一步后,登录界面就差不多完成了。

  总结:

  1.所有的按钮和表单都应该尽量标准的命名,否则容易造成混淆。

  2.尽量以参数化形式编写SQL语句,避免注入。

  3.完成后一定要测试,如果发现有问题,请进行更正。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线