sql和ACCESS连接数据库并验证用户名和密码.doc
文本预览下载声明
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()
{
显示全部