• 电影记录管理系统 修改与注释,完整代码


    注释:在做完用户登录界面之后,下一步增删改查,但是发现:将原来的FrmManager删除后,添加现有项增删改查,出现问题,解决两步:
    【1】.手动添加两个引用;
    【2】.把namespace下的东西全部改成“电影记录管理系统”,统一类的名称

    1
    using System;//引入核心命名空间,是一切类的基础 2 using System.Collections.Generic;//引入集合类命名空间,能够使用泛型类等集合类 3 using System.ComponentModel;//引入ComponentModel命名空间 4 using System.Data;//引入数据操作命名空间,能够使用如DataSet数据集类 5 using System.Drawing;//引入绘图命名空间,能够使用如Color的类 6 using System.Linq;//命名空间提供支持使用语言集成查询 (LINQ) 进行查询的类和接口 7 using System.Text;//引入文本操作命名空间,能够使用如StringBuilder、字符操作等类 8 using System.Windows.Forms;//引入窗体命名空间,支持窗体相关的类 9 using System.Configuration;//配置命名空间,包含应用程序配置相关的类比如ConfigurationManager【手动添加】 10 using System.Data.SqlClient;//SqlCommand( using 指令或程序集引用)【手动添加】 11 12 /******************************************************************************** 13 * 通过添加引用,才可以加入我们所需要的库,而不是仅仅通过using 14 * 之前之所以可以通过using添加对应的库文件,也是因为引用中有了system,故而可以添加 15 * *****************************************************************************/ 16 17 /******************************************************* 18 19 ** 修改者者: 刘要直 20 21 ** 描述: FrmLogin.cs 用于 用户登录窗体 的实现 22 23 ******************************************************/ 24 25 namespace 电影记录管理系统 26 { 27 public partial class FrmLogin : Form /*FrmLogin类名,Form是基类。FrmLogin : Form代表FrmLogin类是子类,继承了父类Form。*/ 28 { 29 30 public FrmLogin() /*partial代表 分部类型定义允许将类、结构或接口的定义拆分到多个文件中*/ 31 { 32 InitializeComponent();/*初始化窗体上的所有控件,在窗口显示之前即初始化窗口的时候执行*/ 33 } 34 //首先 设置 连接到配置文件组建 App.config 35 //当然 这里的 ConfigurationManager 系统是默认不使用其命名空间的 因此需要解析 36 //配置文件App.config里面定义了“str”,add name="str",而且str可以取不同的名字,只要ConnectionStrings["str"]对应一致即可 37 //用于连接配置文件App.config 38 string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString; 39 40 /**************************************************************************** 41 * private私有的意思是说:在其最接近的前侧大括号里,这个事件或者方法才可以被引用,超出则不行。 42 * **************************************************************************/ 43 private void btnLogin_Click(object sender, EventArgs e)//两个形参 44 { 45 //其中的sender,就是你点击的btnLogin_Click,可以通过类型转换得到这个btnLogin_Click的引用:e是你点击事件的一些参数。 46 //使用SqlConnection 来连接数据库 47 //using里面的conn,其作用域仅仅局限在using囊括的{ }里 48 using (SqlConnection conn = new SqlConnection(connStr)) 49 { 50 //创建sql 查询语句 51 /*************************************************************************************** 52 * select * from Movie.dbo.MovieAccount where MUserName=' 刘要直 ' 53 * 得到的结果是“123450” 54 * 要将字符串赋给aql,那么,就将上面查询语句分成三块作为语句输出 55 * ************************************************************************************/ 56 string sql = "select MUserPwd from MovieAccount where MUserName ='"+ txtName.Text +"'";//三部分语法语句赋给sql 57 58 //创建 SqlCommand 执行指令 59 using (SqlCommand cmd = new SqlCommand(sql, conn)) 60 { 61 //打开数据库连接 62 conn.Open(); 63 //使用 SqlDataReader 来 读取数据库 64 using (SqlDataReader sdr = cmd.ExecuteReader()) 65 { 66 //SqlDataReader 在数据库中为 从第1条数据开始 一条一条往下读 67 if (sdr.Read()) //如果读取账户成功(文本框中的用户名在数据库中存在) 68 { 69 //则将第1条 密码 赋给 字符串pwd ,并且依次往后读取 所有的密码 70 //Trim()方法为移除字符串前后的空白 71 string pwd = sdr.GetString(0).Trim();//每一行自增,需要锁定列,GetString(0),表示锁定pwd的第一列,即一连串密码! 72 //如果 文本框中输入的密码 ==数据库中的密码 73 if (pwd == txtPwd.Text) 74 { 75 //说明在该账户下 密码正确, 系统登录成功 76 MessageBox.Show("系统登录成功,正在跳转主页面..."); 77 FrmManager manager = new FrmManager(); 78 manager.Show(); 79 this.Hide();//隐藏功能,表示隐藏当前元素,找到在编辑的窗体名字,就知道隐藏哪一个 80 } 81 else 82 { 83 //否则密码错误 再次输入密码 84 MessageBox.Show("密码错误!请再次输入!"); 85 //并自动将当前密码 清空 86 txtPwd.Text = ""; 87 } 88 } 89 else 90 { 91 //如果读取账户数据失败, 则用户名不存在 92 MessageBox.Show("用户名不存在,请重新输入!"); 93 //并自动清空账户名 94 txtName.Text = ""; 95 } 96 } 97 } 98 } 99 } 100 private void FrmLogin_Load(object sender, EventArgs e) 101 { 102 /************************************************************ 103 * 双击控件,跳转到事件编辑代码处,要多通过属性那里操作,不仅限于双击,登录按钮默认单击,双击也进入单击编辑界面 104 * ***********************************************************/ 105 } 106 107 private void label2_Click(object sender, EventArgs e) 108 { 109 110 } 111 112 private void txtPwd_TextChanged(object sender, EventArgs e) 113 { 114 115 } 116 117 private void txtName_TextChanged(object sender, EventArgs e) 118 { 119 120 } 121 122 private void btnLogin_KeyPress(object sender, KeyPressEventArgs e)//形参 123 { 124 if (e.KeyChar == 13) 125 { 126 btnLogin_Click(sender, e);//实参,名字可以相同 127 //int c= add(5, 6);//函数调用,这里是 名称(参数1,参数2) 128 } 129 } 130 131 /**************************************************************************** 132 * private int add(int a, int b) //私有+类型+名称(类型 参数1,类型 参数2) 133 * { 134 * return a + b; 135 * } 136 ***************************************************************************/ 137 138 139 } 140 }

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Windows.Forms;
     9 using System.Configuration;//配置命名空间,包含应用程序配置相关的类比如ConfigurationManager【手动添加】
    10 using System.Data.SqlClient;//SqlCommand( using 指令或程序集引用)【手动添加】
    11 
    12 namespace 电影记录管理系统
    13 {
    14     public partial class FrmManager : Form
    15     {
    16         public FrmManager()
    17         {
    18             InitializeComponent();
    19         }
    20         //首先 设置 连接到配置文件组建 App.config ,显示的新的窗体要/////实现插入数据
    21         //当然 这里的 ConfigurationManager 系统是默认不使用其命名空间的 因此需要解析
    22         //配置文件App.config里面定义了“str”,add name="str",而且str可以取不同的名字,只要ConnectionStrings["str"]对应一致即可
    23         //用于连接配置文件App.config/////这里要向数据库里写入记录,显示的窗体要按照登陆时候的做法进行
    24         //比如说在物资管理系统中,我们就要把配置文件中的所有主机名,
    25         //Data Source=127.0.0.1(访问本级,此处写pc20150330主机名);Initial Catalog=Movie(数据库名);Persist Security Info=True;User ID=sa;Password=123456(修改过后要一致);
    26         string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString;
    27 
    28         /****************************************************************************
    29          * private私有的意思是说:在其最接近的前侧大括号里,这个事件或者方法才可以被引用,超出则不行。
    30          * **************************************************************************/
    31 
    32         private void button1_Click(object sender, EventArgs e)
    33         {
    34             MessageBox.Show(this.richTextBox1.Text + "保存成功!");
    35             using (SqlConnection conn = new SqlConnection(connStr))//connStr 参见配置文件那一行,就是启动数据库连接操作
    36             {
    37                 conn.Open();
    38                 //+号两个一共三部分,就是要如此格式操作,注意修改应用
    39                 string sql = "INSERT INTO MovieText  (MText) VALUES('" + richTextBox1.Text + "')";//数据库操作指令(建表时记得选作标识符,自动+1)
    40                 MessageBox.Show(sql);
    41                 SqlCommand cmd = new SqlCommand(sql, conn);//实例化cmd
    42                 cmd.ExecuteNonQuery();//相应的操作
    43                 conn.Close();
    44             }
    45         }
    46     }
    47 }

    1 <?xml version="1.0" encoding="utf-8" ?>  //配置文件
    2 <configuration>
    3   <connectionStrings>
    4 
    5     <add name="str" connectionString="Data Source=PC201503301006;Initial Catalog=Movie;Integrated Security=True"/>
    6   </connectionStrings>
    7 </configuration>
     1 using System.Windows.Forms;
     2 
     3 namespace 电影记录管理系统
     4 {
     5     static class Program
     6     {
     7         /// <summary>
     8         /// 应用程序的主入口点。
     9         /// </summary>//注释
    10         [STAThread]
    11         static void Main()
    12         {
    13             Application.EnableVisualStyles();
    14             Application.SetCompatibleTextRenderingDefault(false);
    15             Application.Run(new FrmLogin());
    16         }
    17     }
    18 }
  • 相关阅读:
    node.js 与java 的主要的区别是什么
    基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)
    Linux下SVN安装配置
    Linux查看CPU和内存使用情况
    Linux添加/删除用户和用户组
    java远程调试
    springboot和mybatis集成,自动生成model、mapper,增加mybatis分页功能
    客户端、服务端,跨域访问设置
    HTTP和HTTPS协议
    KMP算法代码
  • 原文地址:https://www.cnblogs.com/liuyaozhi/p/4915573.html
Copyright © 2020-2023  润新知