博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C#] 连接数据库并验证用户名和密码
阅读量:5879 次
发布时间:2019-06-19

本文共 1750 字,大约阅读时间需要 5 分钟。

 

连接数据库, 请根据用用户的输入和数据库里的信息进行比较, 判断用户名和密码是否正确

数据库设计:

数据库名: MyDataBase1.mdf

表名: T_Users

表数据:

 

程序代码

[csharp]
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.Data.SqlClient;  
  5.   
  6. namespace 登录  
  7. {  
  8.     class Program  
  9.     {  
  10.         static void Main(string[] args)  
  11.         {  
  12.             //下面这段文字的作用已经在其它博文中解释!   
  13.             string dataDir = AppDomain.CurrentDomain.BaseDirectory;  
  14.             if (dataDir.EndsWith(@"\bin\Debug\")  
  15.                 || dataDir.EndsWith(@"\bin\Release\"))  
  16.             {  
  17.                 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;  
  18.                 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);  
  19.             }  
  20.   
  21.             //定义用户名和密码变量   
  22.             string username, password;  
  23.   
  24.             //提示用户输入用户名和密码   
  25.             Console.WriteLine("请输入用户名:");  
  26.             username = Console.ReadLine();  
  27.             Console.WriteLine("请输入密码:");  
  28.             password = Console.ReadLine();  
  29.   
  30.             //使用创建数据库连接   
  31.             using(SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDataBase1.mdf;Integrated Security=True;User Instance=True"))  
  32.             {  
  33.                 conn.Open();//打开数据库   
  34.                   
  35.                 //创建数据库查询命令   
  36.                 using(SqlCommand cmd = conn.CreateCommand())  
  37.                 {  
  38.                     //查询命令为:查询UserName等于输入的用户名   
  39.                     cmd.CommandText = "select * from T_Users where UserName='" + username + "'";  
  40.   
  41.                     //将查询到的数据保存在reader这个变量里   
  42.                     using(SqlDataReader reader = cmd.ExecuteReader())  
  43.                     {  
  44.                         //如果reader.Read()的结果不为空, 则说明输入的用户名存在   
  45.                         if(reader.Read())  
  46.                         {  
  47.                             /*从数据库里查询出和用户相对应的PassWorld的值 
  48.                              *reader.GetOrdinal("PassWord")的作用是得到PassWord的为这行数据中的第几列,返回回值是int 
  49.                              *reader.GetString()的作用是得到第几列的值,返回类型为String. 
  50.                              */  
  51.                             string dbpassword = reader.GetString(reader.GetOrdinal("PassWord"));  
  52.                               
  53.                             //比较用户输入的密码与从数据库中查询到的密码是否一至   
  54.                             if(password==dbpassword)  
  55.                             {  
  56.                                 //如果相等,就登录成功   
  57.                                 Console.WriteLine("登录成功!");  
  58.                             }  
  59.                             else  
  60.                             {  
  61.                                 //如果不相等,说明密码不对   
  62.                                 Console.WriteLine("输入的密码有误!");  
  63.                             }  
  64.   
  65.                         }  
  66.                         else  
  67.                         {  
  68.                             //说明输入的用户名不存在   
  69.                             Console.WriteLine("输入的用户名不存在!");  
  70.                         }  
  71.                     }  
  72.   
  73.                 }  
  74.   
  75.             }        
  76.             Console.ReadKey();  
  77.         }  
  78.     }  
  79. }  

转载于:https://www.cnblogs.com/zyj-keyen/archive/2012/07/26/2610065.html

你可能感兴趣的文章
SpringMVC案例1——对User表进行CRUD操作
查看>>
看雪CTF第十四题
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Maven 传递依赖冲突解决(了解)
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>
[Spark][Python]Spark Join 小例子
查看>>
form表单下的button按钮会自动提交表单的问题
查看>>
springBoot介绍
查看>>
Intellij IDEA 快捷键整理
查看>>
Redis 通用操作2
查看>>
11. Spring Boot JPA 连接数据库
查看>>
洛谷P2925 [USACO08DEC]干草出售Hay For Sale
查看>>
MapReduce工作原理流程简介
查看>>
那些年追过的......写过的技术博客
查看>>
小米手机解锁bootload教程及常见问题
查看>>
Python内置函数property()使用实例
查看>>
Spring MVC NoClassDefFoundError 问题的解决方法。
查看>>
CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
查看>>