网站链接: 我爱捣鼓
当前位置: 首页 > web开发  > Asp.net/C#

手把手教您用C#开发winform登录界面功能-实例附源码

2021/4/5 22:00:48

下面就来做一个登陆界面来熟悉对数据库的查询操作:   C#如何连接数据库?首先创建数据库capucivar和表users,并在表中添加一行数据:   create database capucivar   create table users   (   …

    下面就来做一个登陆界面来熟悉对数据库的查询操作:

    C#如何连接数据库?首先创建数据库capucivar和表users,并在表中添加一行数据:

   create database capucivar  
      create table users  
   (  
      uid int primary key identity(1,1),  
   username varchar(100),  
   userpass varchar(100)  
   )  
   insert into users(username,userpass) values('aaa','aaa')

    新建一个解决方案,然后在解决方案里添加项目。因为是与用户交互的图形界面,所以操作与以前有所不同,这次就要选择windows 应用程序。

    在界面的左边是wingdows窗体的控件,如果需要那个控件只需要将它拖放至右边的窗体上即可,最好将控件的name属性也改一下。界面做好之后,如果那个控件需要有一个监听事件,鼠标右击属性,右下角就会出现控件的属性和事件,选中相应的事件后双击直接进入代码编写相应代码就可以了。

    我们拖放两个Lable(标签),两个TextBox(单行文本框)和一个button(按钮),做好一个简单的登陆界面。注意:对于密码框不应该明文显示,应该以“*”或其它的代替,所以要将它的属性passwordchar改为“*”。

    下面写数据库的连接即查询,因为数据库操作是经常要进行的,所以一般习惯将对数据库的连接和操作单独作一个项目:

  using System;  
  using System.Collections.Generic;  
  using System.Text;  
  using System.Data;// System.Data和System.Data.OleDb一定要导入  
  using System.Data.OleDb;  
  namespace Db //命名空间  
  {  
  public class ConnDb  
  {  
  OleDbConnection conn = null;//定义连接对象为null  
  public ConnDb()//构造函数  
  {  
  if (conn==null)  
  {  
  conn = new OleDbConnection();  
  conn.ConnectionString="provider=sqloledb.1;data source=.;initial catalog=capucivar;user id=sa;pwd=";  
  }  
  if (conn.State == ConnectionState.Closed)  
  {//如果连接的状态是关闭的话  
  conn.Open();//打开连接  
  }  
  }  
  public DataSet query(string sql)  
  {  
  DataSet ds = new DataSet();//创建dataSet对象  
  OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);//适配器,用于填充dataSet或dataTable  
  da.Fill(ds);//使用Fill()方法填充dataSet  
  connClose();//关闭连接  
  return ds;//返回DataSet  
  }  
  public void connClose()//关闭连接的方法  
  {//先判断连接是否关闭,如果没有关闭就将它关闭  
  if (conn.State == ConnectionState.Open)  
  {  
  conn.Close();//关闭连接  
  } } } }


  在已经做好的图形用户界面,选中一个控件,鼠标右击属性。右下角找到按钮的点击事件后双击该事件(此处只需要双击按钮)直接进入代码编写相应响应事件代码。完整代码如下:


  using System;  
  using System.Collections.Generic;  
  using System.ComponentModel;  
  using System.Data;  
  using System.Drawing;  
  using System.Text;  
  using System.Windows.Forms;  
  namespace login//命名控件  
  {  
  public partial class Form1 : Form  
  {  
  public Form1()  
  {  
  InitializeComponent();  
  }  
  private void login_but_Click(object sender, EventArgs e)//按钮的单击事件  
  {  
  //得到用户输入的用户名和密码  
  string name = this.name_text.Text;  
  string pass = this.pass_text.Text;  
  //写sql语句  
  string sql =string.Format("select * from users where username='{0}' and userpass='{1}'",name,pass);  
  DataSet ds = new Db.ConnDb().query(sql);  
  if (ds.Tables[0].Rows.Count > 0)  
  {// ds.Tables[0].Rows.Count是结果集的行数  
  MessageBox.Show("登陆成功!");  
  }  
  else  
  {  
  MessageBox.Show("登录失败!");  
  } } } }

  Ctrl+F5执行,先输入正确的“aaa”和“aaa”,执行结果如下:

  然后填入一个错误的,执行结果如下:

  一个简单的从数据库中查询就做好了。至于增删改capucivar将在下一篇文章中详细阐述。

  浅析C#如何连接数据库实现查询功能就介绍到这里。

相关资讯

  • C#怎么获取文件夹里所有的图片文件?

    在实际的程序开发中,我们经常需要获取某个文件夹下的所有图片,用到了C#的DirectoryInfo、GetFiles等文件操作方法,具体实现如下://自定义一个结构public struct sFileInfo{ public string FileName; public DateTime FileCreateTime;}protected void Page_Load(…

    2021/3/4 21:48:01
  • c#实现日期时间与unix时间戳互相转换

    为什么使用时间戳?关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。 /// <summary> /// Uni…

    2021/3/4 21:40:22