01-用户登录信息管理.doc

上传人:苏美尔 文档编号:7217625 上传时间:2020-11-06 格式:DOC 页数:11 大小:125KB
返回 下载 相关 举报
01-用户登录信息管理.doc_第1页
第1页 / 共11页
01-用户登录信息管理.doc_第2页
第2页 / 共11页
01-用户登录信息管理.doc_第3页
第3页 / 共11页
01-用户登录信息管理.doc_第4页
第4页 / 共11页
01-用户登录信息管理.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《01-用户登录信息管理.doc》由会员分享,可在线阅读,更多相关《01-用户登录信息管理.doc(11页珍藏版)》请在三一文库上搜索。

1、青 岛 理 工 大 学课程实验报告课程名称软件设计与体系结构班级实验日期2016.03.252016.04.08姓名学号实验成绩实验名称用户登录信息管理实验目的及要求熟悉三层架构实验环境Win7, VS2010实验内容1. 建立一个解决方案2. 按三层架构模式添加工程3. 设定工程间的依赖关系4. 实现基本用户信息的管理操作:增删改查算法描述及实验步骤1、创建新的解决方案,并在在其所在的文件夹下创建所需的各个文件夹2、在Library文件夹中建立SQLite文件夹,放入从官网下载的4个dll文件,在Bin文件夹下创建DataBase文件夹,并在其中创建数据库文件MyFirstDB.s3db,其

2、中liuqi密码为123456,asd密码为111111,在Bin文件夹下创建配置文件MyConfig.INI3、在解决方案中创建UI、DAL和BLL三层与通用类库Common和业务实体Model4、添加引用5、创建页面窗体,设置单击事件并填写各类的代码6、运行并调试程序调试过程及实验结果总结通过此次实验,我掌握了如何以三层架构模式添加工程,并学会了添加工程间的依赖关系,为我以后能够更规范地编写程序打下了基础,实际动手使我对三层架构的了解不再局限于书面。附录BLL代码部分using System;using System.Collections.Generic;using System.Lin

3、q;using System.Text;using MyFirstSolution.Model;namespace MyFirstSolution.BLL public class UserManager User use; String name; public UserManager(String name) this.name = name; public Boolean checkPass(String pass) use=new User(name); if (pass = use.getPass() return true; else return false; DAL代码部分us

4、ing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SQLite;using System.Data;using MyFirstSolution.Common;namespace MyFirstSolution.DAL public class MyDbHelper public SQLiteConnection GetCon() string strFilePath = Data Source=D:CodeFirstSolutionbinDataba

5、seMyFirstDB.s3db; SQLiteConnection sqliteCon = new SQLiteConnection(strFilePath); return sqliteCon; public String getPassword(String name) String pass; SQLiteConnection con = GetCon(); con.Open(); String sqlstr = select Password from userInfo where Account= + name + ; SQLiteCommand cmd = con.CreateC

6、ommand(); cmd.CommandText = sqlstr; SQLiteDataReader reader = cmd.ExecuteReader(); reader.Read(); pass = reader0.ToString(); return pass; UI代码部分using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using S

7、ystem.Windows.Forms;using MyFirstSolution.Common;using MyFirstSolution.BLL;namespace MyFirstSolution.UI public partial class LoginForm : Form public static bool isPasswordCorrect; private MyConfig myConfig; private UserManager userManager; public LoginForm() InitializeComponent(); private void Login

8、Form_Load(object sender, EventArgs e) myConfig = new MyConfig(); if (myConfig.LoginName.Length 0) txtInputLoginName.Text = myConfig.LoginName; if (myConfig.AutoLogin) chkAutoLogin.Checked = true; else chkAutoLogin.Checked = false; txtInputPassword.Focus(); isPasswordCorrect = false; private void btn

9、Login_Click(object sender, EventArgs e) if (txtInputLoginName.Text.Trim().Length = 0) MessageBox.Show(请输入登录帐号和密码, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); return; else string name = txtInputLoginName.Text.Trim(); userManager = new UserManager(); if (userManager.VerifyPassword(name, txtInputP

10、assword.Text) /校验帐号密码 myConfig.LoginName = name; myConfig.LoginPassword = txtInputPassword.Text; myConfig.AutoLogin = chkAutoLogin.Checked; isPasswordCorrect = true; MessageBox.Show(登录成功!, 恭喜, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(登录失败!, 抱歉, MessageBoxButtons.OK, Me

11、ssageBoxIcon.Error); Close(); Common类库部分MyConfig.csusing System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;namespace MyFirstSolution.Common public class MyConfig private static string ConfigFileName = MyConfig.INI; private IniFile MyCFG = null; private bool

12、autologin; public bool AutoLogin get return autologin; set MyCFG.IniWriteValue(Login, AutoLogin, value.ToString(); autologin = value; private string loginname; public string LoginName get return loginname; set if (value.Trim().Length 0)/用户名称不允许为空 loginname = value.Trim(); MyCFG.IniWriteValue(Login,

13、LoginName, loginname); private string loginpassword; public string LoginPassword get return loginpassword; set if (value.Trim().Length 0) /登录密码不允许为空 loginpassword = value.Trim(); MyCFG.IniWriteValue(Login, LoginPassword, CodeProcess.EncodeBase64(loginpassword); private string connectstr; public stri

14、ng ConnectString get return connectstr; set if (value.Trim().Length 0) connectstr = value.Trim(); MyCFG.IniWriteValue(Database, ConnectString, connectstr); private bool ConstructObj() if (!File.Exists(ConfigFileName) return false; try MyCFG = new IniFile(ConfigFileName); autologin = Convert.ToBoolea

15、n(MyCFG.IniReadValue(Login, AutoLogin); loginname = MyCFG.IniReadValue(Login, LoginName).Trim(); loginpassword = MyCFG.IniReadValue(Login, LoginPassword).Trim(); if (loginpassword.Length = 0) loginpassword = 111111; else loginpassword = CodeProcess.DecodeBase64(loginpassword); connectstr = MyCFG.Ini

16、ReadValue(Database, ConnectString).ToString(); catch return false; return true; public MyConfig() ConfigFileName = Environment.CurrentDirectory + MyConfig.INI; ConstructObj(); public MyConfig(string fileName) ConfigFileName = fileName; ConstructObj(); IniClass.csusing System;using System.Collections

17、.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;namespace MyFirstSolution.Common public class IniFile public string path; /INI文件名 DllImport(kernel32) private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); DllIm

18、port(kernel32) private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); public IniFile(string INIPath) path = INIPath; public void IniWriteValue(string Section, string Key, string Value) WritePrivateProfileString(Sect

19、ion, Key, Value, this.path); public string IniReadValue(string Section, string Key) StringBuilder temp = new StringBuilder(512); int i = GetPrivateProfileString(Section, Key, , temp, 512, this.path); return temp.ToString().Trim(); 业务实体Model代码User.csusing System;using System.Collections.Generic;using

20、 System.Linq;using System.Text;using MyFirstSolution.Common;namespace MyFirstSolution.Model public class User public const int Administrator = 1; public const int NormalUser = 2; private int id; public int ID get return id; /用户ID对外只读,不能修改 private string account; public string Account get return acco

21、unt; set account = value.Trim(); private string password; public string Password get return CodeProcess.DecodeBase64(password); /读取时解密 set /保存密码 password = CodeProcess.EncodeBase64(value); /Base64格式存储 private int usertype; public int UserType get return usertype; set usertype = value; public User(System.Data.DataRow r) id = Convert.ToInt32(rID.ToString(); account = rAccount.ToString().Trim(); string s = rPassword.ToString().Trim(); if (s.Length 0) password = s; else Password = 111111; UserType = Convert.ToInt32(rUserType.ToString();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1