好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#连接SQLServer数据库及登录验证知识

最近在做联系 数据库 的系统项目,这里重新回顾了一些 数据库 的 知识 ,主要是使用VS2012与SQL Server 2012简单的做了下面两个 数据库 的应用,虽然比较简单,但我认为这是非常有用的 知识 ,尤其对刚接触这样的系统 知识 的同学,同时也巩固了自己的 知识 . 一.V

最近在做联系 数据库 的系统项目,这里重新回顾了一些 数据库 的 知识 ,主要是使用VS2012与SQL Server 2012简单的做了下面两个 数据库 的应用,虽然比较简单,但我认为这是非常有用的 知识 ,尤其对刚接触这样的系统 知识 的同学,同时也巩固了自己的 知识 .

一.VS简单 连接 数据库

使用DataGridView控件(显示和编辑不同数据类型的表格数据)来显示 数据库 中的数据,主要步骤是:先定义 连接 数据库 和查询语句,再使用SqlConnection建立 数据库 ,SqlDataAdapter 连接 数据库 和查询命令,最后获取数据并显示在DataGridView控件上即可.运行结果如下图所示:

源程序:C#建立一个Windows窗体程序,点击窗体空白处生成Load..填写代码.

//新加命名空间
using System.Data.SqlClient;
using System.Reflection;

private void Form1_Load(object sender, EventArgs e)
{
    //定义数据内存中缓存,后面填充数据使用
    DataSet ds = new DataSet();

    //定义 数据库  连接 语句:服务器=.(本地)  数据库 名=TelephoneMS(手机管理系统)
    string consqlserver = "Data Source=.;Initial Catalog=TelephoneMS;Integrated Security=True;";

    //定义SQL查询语句
    string sql = "select * from Users";

    //定义SQL Server 连接 对象
    SqlConnection con = new SqlConnection(consqlserver);

    // 数据库 命令和 数据库  连接 
    SqlDataAdapter da = new SqlDataAdapter(sql, con);

    try
    {
        da.Fill(ds);                                    //填充数据
        if (ds.Tables[0].Rows.Count > 0)                //判断是否符合条件的数据记录
        {
            dataGridView1.DataSource = ds.Tables[0];    //获取数据源赋值 数据库 控件
        }
    }
    catch (Exception msg)
    {
        throw new Exception(msg.ToString());  //异常处理
    }
    finally
    {
        con.Close();                    //关闭 连接 
        con.Dispose();                  //释放 连接 
        da.Dispose();                   //释放资源
    }
} 

数据库 中对应的代码和结果如下:

-------创建 数据库 :手机销售管理系统(TelePhone management system)--------                     
create database TelephoneMS             --创建 数据库                      
use TelephoneMS                         --使用 数据库 
drop database TelephoneMS               --删除 数据库 
-------------------------------------------------------------------

-------------------------建表1 Users(角色表)------------------------
--创建表
create table Users
(
	username varchar(20) not null,       --用户名
	userpwd varchar(20) not null,        --用户密码
	userid varchar(20) not null,         --用户编号
	userrole varchar(20) not null        --用户权限
)

--删除表
drop table Users

--清空表中所有数据
truncate table Users

--设置主键:username(用户名)
alter table Users
	add constraint
pk_users primary key(username)

--设置外键:userid(用户编号)
alter table Users
	add constraint
fk_users foreign key(userid)
references UserInfo (userid)
---------------------------------------------------------------------
----------------------------(试验)插入数据查询--------------------------
insert into Users
	(username,userpwd,userid,userrole)
values('admin','123456','000001','adminst');

insert into Users
	(username,userpwd,userid,userrole)
values('Eastmount','eastmount','000002','manager');

select * from Users
---------------------------------------------------------------------- 

二. 数据库 简单 登录 验证

在做系统中通常需要对用户名和密码进行简单的 登录 验证 ,下面是简单的 登录 验证 知识 .运行结果如下:

主要思想是通过判断输入用户名和密码textbox数据在 数据库 中查询,结果存在即能实现.代码如下:

//新加命名空间
using System.Data.SqlClient;
using System.Reflection;

//点击" 登录 "按钮实现 数据库  验证  登录 功能
private void button1_Click(object sender, EventArgs e)
{
    //字符串赋值:用户名 密码
    string username = textBox1.Text.Trim();
    string userpwd = textBox2.Text.Trim();

    //定义 数据库  连接 语句:服务器=.(本地)  数据库 名=TelephoneMS(手机管理系统)
    string consqlserver = "Data Source=.;Initial Catalog=TelephoneMS;Integrated Security=True;";

    //定义SQL查询语句:用户名 密码
    string sql = "select * from Users where username='" + username + "' and userpwd='" + userpwd + "'";

    //定义SQL Server 连接 对象 打开 数据库 
    SqlConnection con = new SqlConnection(consqlserver);
    con.Open();

    //定义查询命令:表示对 数据库 执行一个SQL语句或存储过程
    SqlCommand com = new SqlCommand(sql, con);

    //执行查询:提供一种读取 数据库 行的方式
    SqlDataReader sread = com.ExecuteReader();

    try
    {
        //如果存在用户名和密码正确数据执行进入系统操作
        if (sread.Read())
        {
            MessageBox.Show(" 登录 成功");
        }
        else
        {
            MessageBox.Show("请输入正确的用户名和密码");
        }
    }
    catch (Exception msg)
    {
        throw new Exception(msg.ToString());  //处理异常信息
    }
    finally
    {
        con.Close();                    //关闭 连接 
        con.Dispose();                  //释放 连接 
        sread.Dispose();                //释放资源
    }
} 

实际系统中,弹出的界面“ 登录 成功”可以通过下面的代码替换:

 Main Mwind = new Main();    //显示 登录 主菜单
 this.Hide();                //隐藏当前登陆窗体
 Mwind.Show();               //显示主登陆窗体
 

希望这些 知识 点能帮助巩固和学习 C# 连接 数据库 知识 ,如果叙述中有错误或 不足之处见谅!

(By:Eastmount 2013-9-2 http://blog.csdn.net/eastmount/ )

查看更多关于C#连接SQLServer数据库及登录验证知识的详细内容...

  阅读:52次