博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
电影记录管理系统 修改与注释,完整代码
阅读量:4555 次
发布时间:2019-06-08

本文共 8814 字,大约阅读时间需要 29 分钟。

注释:在做完用户登录界面之后,下一步增删改查,但是发现:将原来的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 : Form15     {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);//实例化cmd42                 cmd.ExecuteNonQuery();//相应的操作43                 conn.Close();44             }45         }46     }47 }
1 
//配置文件2
3
4 5
6
7
1 using System.Windows.Forms; 2  3 namespace 电影记录管理系统 4 { 5     static class Program 6     { 7         ///  8         /// 应用程序的主入口点。 9         /// //注释10         [STAThread]11         static void Main()12         {13             Application.EnableVisualStyles();14             Application.SetCompatibleTextRenderingDefault(false);15             Application.Run(new FrmLogin());16         }17     }18 }

 

 

 

转载于:https://www.cnblogs.com/liuyaozhi/p/4915573.html

你可能感兴趣的文章
oneinstack 安装 https-certbot
查看>>
Dockerfile基础
查看>>
Workflow笔记1——工作流介绍
查看>>
JavaScript 对象初探
查看>>
_BitScanForward, _BitScanForward64
查看>>
CentOS下yum方式安装FFmpeg
查看>>
Django使用redis实现缓存
查看>>
软件工程第三周 结对编程(201521123031)
查看>>
关于error in include chain系类错误
查看>>
sublime text2 用ctags插件实现方法定位
查看>>
剑指offer(27)字符串的排列
查看>>
spring和struts 的整合
查看>>
bootstrap 分页
查看>>
命令模式
查看>>
mysql 常用语法
查看>>
第五章---面向对象---1.绑定方法与非绑定方法介绍/2.绑定方法与非绑定方法应用/3.反射/4.内置方法...
查看>>
simple_html_dom使用小结
查看>>
linux下的shell运算(加、减、乘、除)
查看>>
Debian 的软件包管理系统介绍
查看>>
JavaScript及兼容性笔记
查看>>