欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    04用户登录信息管理.docx

    • 资源ID:2713088       资源大小:78.98KB        全文页数:16页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    04用户登录信息管理.docx

    1、04用户登录信息管理青 岛 理 工 大 学课程实验报告课程名称软件设计与体系结构班级软件122实验日期2015.03.302015.04.13姓名贾蒙学号201207222实验成绩实验名称用户登录信息管理实验目的及要求熟悉三层架构实验环境Win7, VS2010实验内容1. 建立一个解决方案2. 按三层架构模式添加工程3. 设定工程间的依赖关系4. 实现基本用户信息的管理操作:增删改查算法描述及实验步骤1.选择 文件-新建-项目2.选择 其它项目类型-Visual Studio解决方案3.在解决方案所在的文件夹中创建以下文件夹: Bin:存放生成的可执行文件 Documents:存放所用到的文

    2、档 Library:存放用到的第三方控件 Setup:存放用于安装的最终程序及其相关文件 UnitTest:存放测试代码4.准备以下文件放到相应的文件夹中:在Library文件夹中建立SQLite文件夹,从SQLite的官方网站下载sqlite-netFx40-binary-Win32-2010-1.0.84.0.zip文件,解压缩后将其中的4个文件SQLite.Designer.dll、SQLite.Interop.dll、System.Data.SQLite.dll和System.Data.SQLite.Linq.dll拷贝到SQLite文件夹待用;在Bin文件夹下面创建Database文

    3、件夹,并利用sqliteadmin在其中创建一个SQLite数据库文件MyFirstDB.s3db(或用代码创建),其中包含一个表:表中admin密码为lcb,aaa密码为123,bbb密码为空在Bin文件夹下面创建配置文件MyConfig.INI:5.右键单击右图中的“解决方案MyFirstSolution(0个项目)”-添加-新建项目,建立如右图所示5个Project;其中Common、DAL、Model和BLL项目类型为“类库”,UI的项目类型为“Windows应用程序”;右键单击“MyFirstSolution.UI”设定UI为“启动项目”,该项目名称变为黑体显示。6.添加引用(右键单

    4、击“引用”-“添加引用”):BLL引用DAL和ModelDAL引用Common和Library文件夹中的3个dll文件: SQLite.Designer.dll、System.Data.SQLite.dll和System.Data.SQLite.Linq.dllModel引用Common和DALUI引用Common、BLL和Model,还必须将Library文件夹中的SQLite.Interop.dll文件复制到Bin文件夹中添加引用的同时,项目间的依赖关系也就发生了变化,随之改变的是项目的编译顺序。7.填写Common的代码:修改Class1.cs的名称为CodeProcess.cs,并输入

    5、其代码实现Base64的编码和解码功能添加IniClass类实现对INI文件的读写操作添加MyConfig类调用IniCalss类实现对配置文件MyConfig.INI的读写操作8.填写DAL的代码添加数据集UserDataSet,建立表Users,结构同SQLite数据库中的表Users将类Class.cs改名为MyDbHelper.cs,并输入它的代码实现数据库的操作:连接,查询,修改9.填写Model的代码:修改类Class1.cs为User.cs,并填写其代码实现利用DAL提供的功能从数据库中获取数据,并将需要保存的数据写入数据库(具体项目中,可以单个修改/保存,也应该可以批量修改/保

    6、存)以属性的形式向上层提供数据10.填写BLL的代码:修改Class1.cs类为UserManager.cs类,并填写代码实现对用户信息的管理:获取数据,校验密码,修改密码11.填写UI的内容:添加Form的界面元素添加Form_Load的代码根据配置文件的内容设置界面元素需要的话,实现自动登录功能添加Button_Click点击事件的处理代码检验登录帐号和密码记录登录状态到配置文件中调试过程及实验结果总结 本次试验主要考察的是三层架构开发模式,即表示层、业务逻辑层、数据访问层。通过本次试验对三层架构开发模式有了新的认识,不再是仅仅局限于课本上枯燥的知识,本次实验后有了更加生动的认识。附录UI

    7、部分代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using MyFirstSolution.BLL;using MyFirstSolution.Common;namespace MyFirstSolution.UI public partial class Form1 : Form p

    8、rivate String count = null; private String pass = null; private int autoLogin=1; /ini文?件t路径? String file = .MyConfig.ini; MyConfig opIni; public Form1() InitializeComponent(); private void login_Click(object sender, EventArgs e) this.count = this.counter.Text.ToString(); this.pass = this.password.Te

    9、xt.ToString(); if (this.auto.Checked) opIni = new MyConfig(this.file); opIni.setLoginName(this.count); opIni.setLoginPassWord(this.pass); opIni.setAutoLogin(1); else opIni = new MyConfig(this.file); opIni.setLoginName(); opIni.setLoginPassWord(); opIni.setAutoLogin(0); UserManager um = new UserManag

    10、er(this.count); if (um.checkPass(this.pass) MessageBox.Show(登?录?成功|); else MessageBox.Show(登?录?失骸?败悒?); private void Form1_Load(object sender, EventArgs e) opIni = new MyConfig(this.file); this.count = opIni.getLoginName(); this.pass = opIni.getLoginPassword(); this.autoLogin = opIni.getAutoLogin();

    11、 /this.autoLogin=opIni.get if (this.autoLogin = 1) this.auto.Checked = true; this.counter.Text = this.count; this.password.Text = this.pass; UserManager um = new UserManager(this.count); if (um.checkPass(this.pass) MessageBox.Show(登?录?成功|); else MessageBox.Show(登?录?失骸?败悒?); else if (this.autoLogin =

    12、 0) this.auto.Checked = false; BLL部分代码using System;using System.Collections.Generic;using System.Linq;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

    13、(String pass) use=new User(name); if (pass = use.getPass() return true; else return false; Modelde 的代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using MyFirstSolution.DAL;namespace MyFirstSolution.Model public class User MyDbHelper md; String count; public User

    14、(string count) this.count = count; public String getPass() md = new MyDbHelper(); return md.getPassword(count); DAL的代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SQLite;using System.Data;using MyFirstSolution.Common;namespace MyFirstSolution.DA

    15、L public class MyDbHelper public SQLiteConnection GetCon() string strFilePath = Data Source=C:UsersCODERDesktopTestSolutionbinDatabaseMyFirstDB.s3db; SQLiteConnection sqliteCon = new SQLiteConnection(strFilePath); return sqliteCon; public String getPassword(String name) String pass; SQLiteConnection

    16、 con = GetCon(); con.Open(); String sqlstr = select Password from userInfo where Account= + name + ; SQLiteCommand cmd = con.CreateCommand(); cmd.CommandText = sqlstr; SQLiteDataReader reader = cmd.ExecuteReader(); reader.Read(); pass = reader0.ToString(); return pass; Common的代码1.base64编码using Syste

    17、m;using System.Collections.Generic;using System.Linq;using System.Text;namespace MyFirstSolution.Common public class CodeProcess public string EncodeBase64(string code) byte bytes = Encoding.Default.GetBytes(code); string str = Convert.ToBase64String(bytes); return str; public string DecodeBase64(st

    18、ring code) byte outputb = Convert.FromBase64String(code); string orgStr = Encoding.Default.GetString(outputb); return orgStr; 2.读取ini文件using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;namespace MyFirstSolution.Common class IniClas

    19、s private string fileName; DllImport(kernel32) private static extern int GetPrivateProfileInt( string lpAppName, string lpKeyName, int nDefault, string lpFileName ); DllImport(kernel32) private static extern int GetPrivateProfileString( string lpAppName, string lpKeyName, string lpDefault, StringBui

    20、lder lpReturnedString, int nSize, string lpFileName ); DllImport(kernel32) private static extern bool WritePrivateProfileString( string lpAppName,string lpKeyName,string lpString, string lpFileName ); public void IniFile(string filename) fileName = filename; public int GetInt(string section, string

    21、key, int def) return GetPrivateProfileInt(section, key, def, fileName); public string GetString(string section, string key, string def) StringBuilder temp = new StringBuilder(1024); GetPrivateProfileString(section, key, def, temp, 1024, fileName); return temp.ToString(); public void WriteInt(string

    22、section, string key, int iVal) WritePrivateProfileString(section, key, iVal.ToString(), fileName); public void WriteString(string section, string key, string strVal) WritePrivateProfileString(section, key, strVal, fileName); public void DelKey(string section, string key) WritePrivateProfileString(se

    23、ction, key, null, fileName); public void DelSection(string section) WritePrivateProfileString(section, null, null, fileName); 3.操作INI文件using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MyFirstSolution.Common public class MyConfig String filename ; String log

    24、inName; String loginPassword; int autologin; String ConnectString; CodeProcess cp = new CodeProcess(); public MyConfig(String filename) this.filename = filename; public string getLoginName() IniClass ini = new IniClass(); ini.IniFile(filename); this.loginName = ini.GetString(Login, LoginName, 没?找到?)

    25、; return loginName; public string getLoginPassword() IniClass ini = new IniClass(); ini.IniFile(filename); this.loginPassword = ini.GetString(Login, LoginPassword, 没?找到?); return cp.DecodeBase64(loginPassword); /return loginPassword; public int getAutoLogin() IniClass ini = new IniClass(); ini.IniFi

    26、le(filename); this.autologin = ini.GetInt(Login, AutoLogin, 1); return autologin; public string getConnectString() IniClass ini = new IniClass(); ini.IniFile(filename); this.ConnectString = ini.GetString(Database, ConnectString, ); return ConnectString; public void setLoginName(String name) IniClass

    27、 ini = new IniClass(); ini.IniFile(filename); ini.WriteString(Login, LoginName, name); public void setLoginPassWord(String pass) IniClass ini = new IniClass(); ini.IniFile(filename); String enPass = cp.EncodeBase64(pass); ini.WriteString(Login, LoginPassword, enPass); public void setAutoLogin(int autologin) IniClass ini = new IniClass(); ini.IniFile(filename); ini.WriteInt(Login, AutoLogin, autologin);


    注意事项

    本文(04用户登录信息管理.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开