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 <?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 }