文档详情

sql和ACCESS连接数据库并验证用户名和密码.doc

发布:2017-01-03约3.12千字共6页下载文档
文本预览下载声明
print? using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; namespace 登录 { class Program { static void Main(string[] args) { //下面这段文字的作用已经在其它博文中解释! string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(@\bin\Debug\) || dataDir.EndsWith(@\bin\Release\)) { dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(DataDirectory, dataDir); } //定义用户名和密码变量 string username, password; //提示用户输入用户名和密码 Console.WriteLine(请输入用户名:); username = Console.ReadLine(); Console.WriteLine(请输入密码:); password = Console.ReadLine(); //使用创建数据库连接 using(SqlConnection conn = new SqlConnection(@Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDataBase1.mdf;Integrated Security=True;User Instance=True)) { conn.Open();//打开数据库 //创建数据库查询命令 using(SqlCommand cmd = conn.CreateCommand()) { //查询命令为:查询UserName等于输入的用户名 cmd.CommandText = select * from T_Users where UserName= + username + ; //将查询到的数据保存在reader这个变量里 using(SqlDataReader reader = cmd.ExecuteReader()) { //如果reader.Read()的结果不为空, 则说明输入的用户名存在 if(reader.Read()) { /*从数据库里查询出和用户相对应的PassWorld的值 *reader.GetOrdinal(PassWord)的作用是得到PassWord的为这行数据中的第几列,返回回值是int *reader.GetString()的作用是得到第几列的值,返回类型为String. */ string dbpassword = reader.GetString(reader.GetOrdinal(PassWord)); //比较用户输入的密码与从数据库中查询到的密码是否一至 if(password==dbpassword) { //如果相等,就登录成功 Console.WriteLine(登录成功!); } else { //如果不相等,说明密码不对 Console.WriteLine(输入的密码有误!); } } else { //说明输入的用户名不存在 Console.WriteLine(输入的用户名不存在!); } } } } Console.ReadKey(); } } } 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 System.Data.OleDb; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() {
显示全部
相似文档