读书人

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

发布时间: 2013-10-08 16:38:32 作者: rapoo

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

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

一.VS简单连接数据库

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

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

源程序: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 Usersadd constraintpk_users primary key(username)--设置外键:userid(用户编号)alter table Usersadd constraintfk_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----------------------------------
二.数据库简单登录验证

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

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

主要思想是通过判断输入用户名和密码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-2http://blog.csdn.net/eastmount/)

读书人网 >其他数据库

热点推荐