登录窗体实例

上传人:wkd****90 文档编号:241766950 上传时间:2024-07-22 格式:PPT 页数:41 大小:1.02MB
返回 下载 相关 举报
登录窗体实例_第1页
第1页 / 共41页
登录窗体实例_第2页
第2页 / 共41页
登录窗体实例_第3页
第3页 / 共41页
点击查看更多>>
资源描述
1第十讲 用户登录窗体实例用户登录窗体实例 2一、一、GroupBox和和PanelPanel GroupBox(GroupBox(分分组框框)控控件件和和Panel Panel 控控件件用用于于为其其他他控控件件提提供供组合合容容器器,可可以以对控控件件进行行分分组。GroupBox GroupBox 控控件件类似似于于 Panel Panel 控控件件,但但GroupBox GroupBox 控控件件可可以以显示示标题,而而Panel Panel 控控件件有有滚动条条。设计时当当移移动单个个 GroupBox GroupBox 控控件件时,它它包包含含的的所所有有控控件件也也将将一起移一起移动。放到放到PanelPanel控件或控件或GroupBox GroupBox 控件内的所有控件内的所有对象象将随着容器的控件一起移将随着容器的控件一起移动、显示、消失、和屏蔽。示、消失、和屏蔽。3面板面板panel面板面板panel4Panel控件的常用属性:控件的常用属性:(1 1)BorderStyleBorderStyle属性属性 用于用于设置置边框的框的样式。有三种式。有三种设定定值:nonenone:无:无边框框 Fix3DFix3D:立体:立体边框框 FixSingleFixSingle:简单边框框默默认值是是nonenone,不,不显示示边框。框。(2 2)AutoScrollAutoScroll属属性性:设置置是是否否在在框框内内加加滚动条。条。设置置为truetrue,则加加滚动条,否条,否则不加。不加。5GroupBox控件的常用属性控件的常用属性GroupBoxGroupBox控件最常用的是控件最常用的是texttext属性,可用于在属性,可用于在GroupBoxGroupBox控件的控件的边框上框上设置置显示的示的标题。PanelPanel控件与控件与GroupBoxGroupBox控件有三个区控件有三个区别:PanelPanel控控件件可可以以设置置BorderStyleBorderStyle属属性性,选择是是否有否有边框。框。PanelPanel控控件件可可以以把把其其AutoScrollAutoScroll属属性性设置置为truetrue,进行行滚动。PanelPanel控件没有控件没有texttext属性,不能属性,不能设置置标题。6【例】创建建一一个个 GroupBox GroupBox 和和一一个个 TextBox 控控件件。向向分分组框框中中添添加加单选按按钮,并并将将该分分组框框添添加加到到 FormForm中中。private void InitializeMyGroupBox()/创建一个建一个 GroupBox 和一个和一个TextBox GroupBox groupBox1=new GroupBox();TextBox textbox1=new TextBox();/设置置 GroupBox的的样式式 groupBox1.FlatStyle=FlatStyle.System;7 /添加添加 TextBoxTextBox到到 GroupBox.groupBox1.Controls.Add(textbox1textbox1);/添加添加GroupBox 到窗体到窗体 Controls.Add(groupBox1);运行运行结果如果如图所示。所示。8二、用户登录窗体的功能和用户界面二、用户登录窗体的功能和用户界面 在在这个个窗窗体体中中,用用户输入入用用户名名和和密密码后后,查询数数据据库 userinfo的的 用用户信信息息表表 中中是是否否存存在在这样的的用用户,检查用用户的的合合法法性性。用用户界面如下界面如下图。9三、用户登录窗体的设计步骤三、用户登录窗体的设计步骤创建建WindowsWindows应用程序用程序项目,目,项目名称目名称为“用用户登登录窗体窗体实例例”。向向窗窗体体中中加加入入1 1个个GroupBoxGroupBox控控件件,控控件件名名为groupBox1groupBox1。该控控件件用来使用来使输入区的控件成入区的控件成组,此,此处主要提高界面的主要提高界面的视觉效果。效果。向向控控件件groupBox1groupBox1中中加加入入2 2个个LabelLabel控控件件,控控件件名名为 label1label1和和label2label2。这两个控件用来指示用两个控件用来指示用户输入的数据入的数据项的名称。的名称。向向控控件件groupBox1groupBox1中中加加入入2 2个个TextBoxTextBox控控件件,控控件件名名为 UserIDUserID和和PasswdPasswd。这两个控件用来接受用两个控件用来接受用户输入。入。向向 窗窗 体体 中中 加加 入入 2 2个个 ButtonButton控控 件件,控控 件件 名名 为 buttonLoginbuttonLogin和和buttonCanclebuttonCancle。这两个控件用来启两个控件用来启动“登登录”和和“取消取消”功能。功能。10四、用户登录主要程序代码四、用户登录主要程序代码-未涉及数据库未涉及数据库private void button1_Click(object sender,EventArgs e)if (userid.text=“”|passwd.text=“”)MessageBox.show(“请输入用入用户名和密名和密码”);else if(userid.text=“admin”&passwd.text=“admin”)MessageBox.show(“你可以登你可以登录到本系到本系统”);else MessageBox.show(“用用户名或者密名或者密码错误”);11五、用户登录主要程序代码五、用户登录主要程序代码-涉及数据库涉及数据库private void button1_Click(object sender,EventArgs e)if (userid.text=“”|passwd.text=“”)MessageBox.show(“请输入用入用户名和密名和密码”);else 根根据据userid.text和和passwd.text去去数数据据库中中查询,查看看是是否否存存在在相相应的用的用户名和密名和密码;if(数据数据库中有此中有此记录)MessageBox.show(“你可以登你可以登录到本系到本系统”);else MessageBox.show(“用用户名或者密名或者密码错误”);12131、连接数、连接数据库据库数据库数据库2 2、通过、通过sqlsql语句找数据语句找数据账号:账号:admin密码:密码:admin可以登录可以登录14六、六、Access数据库操作步骤数据库操作步骤C#C#中中对数据数据库操作的主要步操作的主要步骤如下:如下:引入命名空引入命名空间:using System.Data.OleDb;using System.Data.OleDb;连接数据接数据库执行行SQLSQL语句句从从数数据据库中中读取取筛选的的数数据据,并并与与文文本本框框中中的的数数据据进行行对比比关关闭数据数据库连接并打连接并打开数据库开数据库在数据库中在数据库中执行执行SQLSQL语句语句读取数据,读取数据,并进行对比并进行对比关闭数据库关闭数据库OleDbConnectionOleDbCommandOleDbDataReaderOleDbConnection对象对象 的的Close方法方法15 Connection类主主要要功功能能是是建建立立与与数数据据库的物理的物理连接;接;access数数据据库一一般般使使用用OleDbConnection;而而SQLSERVER数数据据库一般使用一般使用SQLConnection。一一 般般 调 用用 OleDbConnection或或 者者SQLConnection对象象的的OPEN方方法法来来打打开开数据数据库。1)、)、OleDbConnection16 Command类主主要要功功能能向向数数据据库发送送查询(select)、更更新新(update)、删除除(delete)、添加(添加(insert)操作的)操作的SQL语句。句。access数数据据库一一般般使使用用OleDbCommand;而而SQLSERVER数据数据库一般使用一般使用SQLCommand。一一 般般 需需 要要 设 置置 OleDbCommand或或 者者SQLCommand对象的三个属性:象的三个属性:Connection;CommandType;CommandText;2)、)、OleDbCommand17 DataReader类主主要要是是用用于于从从数数据据库中中快快速的速的读取数据,而不能修改数据。取数据,而不能修改数据。使使用用OleDbDataReader或或者者SQL DataReader读取取数数据据的的时候候,一一般般需需要要使使用用OleDbCommand或或者者SQLCommand对象象的的一一个个ExecuteReader()方方法法,将将该方方法法执行行SQL语句句的的结果果赋给OleDbDataReader对象象或或者者SQL DataReader对象。象。3)、)、OleDbDataReader18 OleDbDataReader对 象象 或或 者者 SQLDataReader对象象的的HasRows属属性性获取取一一个个值,该值说明明OleDbDataReader对象象(SQLDataReader)是是否否包包含含一一行行或或者者多多行行,即即判判断断查询结果果中中是否有是否有值。如如果果OleDbDataReader对象象包包含含一一行行或或多多行行,则为true,否,否则为false。19OleDbConnection cn=new OleDbConnection(strcon);cn.open();cn.close();4)、)、OleDbConnection对象对象 的的Close方法方法20第一步:第一步:连接数据接数据库构造构造连接数据接数据库的字符串:的字符串:string strcon=Jet OLEDB:Engine Type=5;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb;或者:或者:string strcon=Jet OLEDB:Engine Type=5;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+.student.mdb;七、七、Access数据库操作实践数据库操作实践第一步:第一步:连接并打连接并打开数据库开数据库21使用使用OleDbConnection创建数据建数据库的的连接接cn:OleDbConnection cn=new OleDbConnection(strcon);打开打开连接:接:cn.open();第一大步第一大步结束。束。22第二步:执行第二步:执行SQLSQL语句语句使用使用OleDbCommand创建对象创建对象cmd:OleDbCommand cmd=new OleDbCommand();设置要执行的设置要执行的SQL语句字符串:语句字符串:string sqlstr=“select/insert/update/delete.”;设置设置 cmd对象的三个属性:对象的三个属性:cmd.Connection=cn;cmd.CommandText=sqlstr;cmd.CommandType=CommandType.Text;第一步中创第一步中创建的连接建的连接第二步:在数据第二步:在数据库中执行库中执行SQLSQL语句语句23调调用用cmd对对象象的的ExecuteReader()方方法法执执行行SQL语语句句,并并赋赋值值给类给类OleDbDataReader的对象的对象 SDR:OleDbDataReader SDR=cmd.ExecuteReader();第二大步结束。第二大步结束。24第三步:第三步:读取取SQL语句句选择的数据的数据读取下一条取下一条记录:SDR.Read();判判断断是是否否读取取到到数数据据,如如果果能能读取取到到数数据据说明明数数据据库里里面面存存在相在相应的用的用户名和密名和密码,否,否则说明数据明数据库里面没有:里面没有:if(SDR.HasRows=true)this.hide();/隐藏登藏登录窗口窗口 Form1 frm1=new Form1();/创建并打开主界面建并打开主界面 frm1.Show();else MessageBox.Show(用用户名或密名或密码错误,登登录失失败);第四步:关第四步:关闭数据数据库连接:接:cn.Close();第三步:读取因执行第三步:读取因执行SQLSQL语句而得到的数据语句而得到的数据25主要主要过程程简述如下:述如下:构造构造连接数据接数据库的字符串的字符串使用使用OleDbConnection创建数据建数据库的的连接接cn;打开打开连接:接:cn.open();使用使用OleDbCommand创建建对象象cmd,执行行SQL语句;句;ucmd的的Connection属性属性设置置为cn;u将要将要执行的行的sql语句句赋给cmd的的CommandText属性;属性;u将将CommandType.Text赋值给cmd的的CommandType属性属性;调用用cmd的的ExecuteReader()方方法法,读取取数数据据库数数据据并并赋值给OleDbDataReader的的对象:象:OleDbDataReader SDR=cmd.ExecuteReader();26SDR.read();读取数据以后取数据以后进行判断:行判断:if(SDR.HasRows=true)this.hide();/隐藏登藏登录窗口窗口 Form1 frm1=new Form1();/创建并打开主界面建并打开主界面 frm1.Show();else MessageBox.Show(用用户名或密名或密码错误,登登录失失败);关关闭数据数据库连接:接:cn.Close();27完整代完整代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Runtime.InteropServices;using System.Windows.Forms;using System.Data.OleDb;namespace WindowsApplication1 public partial class Form1:Form 28 public Form1()InitializeComponent();private void button1_Click(object sender,EventArgs e)if(userid.Text.Trim()=|passwd.Text.Trim()=)MessageBox.Show(请输入用入用户名及密名及密码,登登录失失败);else /连接字符串接字符串 string strcon=Jet OLEDB:Engine Type=5;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb;/创建数据建数据库的的连接接 public OleDbConnection cn=new OleDbConnection(strcon);29cn.Open();/打开打开连接接 /创建建执行命令行命令对象象cmdOleDbCommand cmd=new OleDbCommand();/设置要置要执行的行的sql语句句sqlstr string sqlstr=select*from userinfo where UserName=+userid.Text.Trim()+and Paswd=+passwd.Text.Trim()+;/设置置cmd对象的三个属性象的三个属性cmd.Connection=cn;cmd.CommandText=sqlstr;cmd.CommandType=CommandType.Text;/读取数据并取数据并赋值给OleDbDataReader对象象 SDR OleDbDataReader SDR=cmd.ExecuteReader();SDR.Read()30 if(SDR.HasRows)/读取到数据取到数据说明存在明存在该用用户,可以登,可以登录 this.hide();/隐藏登藏登录窗口窗口 Form1 frm1=new Form1();/创建并打开主界面建并打开主界面 frm1.Show();else /否否则用用户不存在不存在 MessageBox.Show(用用户名或密名或密码错误,登登录失失败);cn.Close();31八、登陆后如何正确弹出主窗体八、登陆后如何正确弹出主窗体Program.cs Program.cs 中中应该书写的代写的代码如下:如下:login s=new login();login s=new login();s.ShowDialog();s.ShowDialog();if(s.DialogResult=DialogResult.OK)if(s.DialogResult=DialogResult.OK)Application.Run(new Form1();Application.Run(new Form1();else else Application.Exit();Application.Exit();32登登录窗体中窗体中 正确登正确登录后后 应该书写的代写的代码:this.DialogResult this.DialogResult=DialogResult.OK;DialogResult.OK;this.Close();this.Close();33知识点回顾:知识点回顾:SQL语句的编写语句的编写 对数数据据库的的操操作作一一般般有有查询记录、更更新新(修修改改)记录、删除除记录、插入、插入记录。查询记录-selectselect语句句 更新更新记录-updateupdate语句句 删除除记录-deletedelete语句句 插入插入记录-insert insert 语句句四种四种SQL语句语句34常常见的的SQLSQL语句如下所示:句如下所示:1 1、选择语句:句:例如:例如:select 学号,姓名学号,姓名 from STU1 where 数学数学=90select *from STU1 where 姓名姓名=刘佳刘佳select 学号,姓名学号,姓名 from STU1 where 姓名姓名=楚留香楚留香352、INSERT命令(插入命令)命令(插入命令)格式:格式:INSERT INTO (属性列表属性列表)VALUE (数据表数据表)功能:插入一条新记录。功能:插入一条新记录。如:如:insert into STU1(insert into STU1(学号学号,姓名姓名,计算机基础计算机基础,数学数学,马列原理马列原理,体育体育,总分总分,平均分)平均分)values(values(962105962105,李小丽李小丽,77,88,90,80.2),77,88,90,80.2)363、UPDATE命令(更新命令)命令(更新命令)格式:格式:UPDATE SET WHERE 例如:例如:update STU2 set 就读方式就读方式统招统招 where 姓名姓名=孙力孙力374、DELETE命令(删除命令)命令(删除命令)格式:格式:DELETE FROM 表文件名表文件名 WHERE 表达式表达式如:如:delete from STU2 where 性别性别=女女38如何将如何将SQL语句转换为字符串类型?语句转换为字符串类型?如:如:delete from STU2 where delete from STU2 where 性性别别=女女delete from STU2 where delete from STU2 where 性别性别=X X X X由由文文本本框框中中的的值值决决定定,输输入入男男X X就就是是男男,否否则则就就是是女。由女。由Textbox1.textTextbox1.text决定。决定。39如:如:delete from STU2 where 性性别别=女女String str=“delete from STU2 where 性性别别=Textbox1.text ”;delete from STU2 where 性别性别=Textbox1.textString str=“delete from STU2 where 性别性别=”+Textbox1.text+“”;哪个是文本框的值?哪个是文本框的值?String s=“textbox1.text”;String s=Textbox1.text;40当将当将SQLSQL语句句变为字符串字符串时,只需,只需经过下面两步:下面两步:1 1、写出写出错误的表达式:的表达式:delete from STU2 where 性性别别=Textbox1.text2 2、由第一步得出正确的字符串表达式:、由第一步得出正确的字符串表达式:String sqlstr=“delete from STU2 where 性性别别=”+Textbox1.text+”;41insert into userinfo(UserName,Paswd)values(userid.Text.Trim(),passwd.Text.Trim();对于添加用于添加用户来来说应该是是insert语句:句:string sql=insert into userinfo(UserName,Paswd)values(+userid.Text.Trim()+,+passwd.Text.Trim()+);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 生活常识


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!