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

最近在做联系数据库的系统项目,这里重新回顾了一些数据库的知识,主要是使用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-2http://blog.csdn.net/eastmount/)

时间: 2024-11-08 17:57:21

C# 连接SQLServer数据库及登录验证知识的相关文章

C#连接Oracle9i数据库(Windows验证方式)

问题描述 C#连接Oracle9i数据库(Windows验证方式)怎么连接? 解决方案 解决方案二:Oracle可以以Windows验证方式登录么?解决方案三:ORACLE_BASEORACLE_HOMEnetworkadminsqlnet.ora文件里面的SQLNET.AUTHENTICATION_SERVICES参数要包含ntsserver和client端都要设置原文地址:http://docs.oracle.com/cd/B28359_01/win.111/b32010/authen.ht

有关jsp在windows下的配置及连接SQLServer数据库的详解

js|server|sqlserver|window|数据|数据库|详解 最近在学习jsp,有关jsp的运行环境的配置问题着实让我费了不少功夫,环境配置好了,连接SQL Sever 2000数据库时又出了不少问题,鉴于此我把自己配置这两方面的详细步骤给大家共享一下,希望刚刚接触jsp的并立志在jsp方面有所成就的同仁少走一些弯路,让我共同进步.有希望与我交流的请加我qq:26544472(在验证信息中请注明jsp交流) (一)有关jsp在windows下的配置: Sun推出的JSP(Java S

JAVA连接SQLserver数据库注意事项

在Java文件中,连接SQLserver数据库时,需要一个连接数据库的驱动文件. 在你安装jdk的路径下的lib文件夹里拷贝一个文件jtds-0.6.jar,并且在环境变量里设置classpath,例如:你的jdk装在c:\jdk,那么环境变量classpath的路径应设为c:\jdk\lib\jtds-0.6.jar.(环境变量知道这么设吧?在我的电脑的属性,高级里.多个路径之间用分号隔开.) 这里提供SQLserver连接驱动文件jtds-0.6.jar,下载解压后拷贝到jdk路径下的lib

asp连接sqlserver数据库实现代码

 本文章介绍了利用asp连接sqlserver数据库实例代码,连接方法有三种分别为通过ODBC DSN建立连接,通过oledb建立连接 通过driver建立连接三种,下面我们来看看第一种.   通过driver建立连接  代码如下   <%  Const DataBaseType=1  If DataBaseType=0 then  DBPath="/jb51/news.asp"  SqlNowString = "Now()"  ystr=true  nstr

jdbc通过1433端口连接sqlserver数据库总是失败

问题描述 jdbc通过1433端口连接sqlserver数据库总是失败 最近在做一个小项目,在android的额产品里塞中直接用jdbc连接本地服务器的sqlserver数据库的时候出现这个错误:"请验证连接属性,并检查 SQL Server 的实例正在主机上运行, 且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接" 在网上查阅了很多资料,server的端口都是1433,IP2也启动了,sql实例也都启动了,server服务也重新启动了,防火墙也关闭了

mysql-vs2010mfc制作了一个登录窗口,数据库使用的是MySQL,怎样写才能连接到数据库进行登录?

问题描述 vs2010mfc制作了一个登录窗口,数据库使用的是MySQL,怎样写才能连接到数据库进行登录? 账号编辑框添加变量为:CEdit m_ID 密码编辑框添加变量为:CEdit m_password 登录按钮下的事件函数,可以连接到mysql的数据库,可以实行插入删除操作. 现在服务器数据库里面有一个名为:DATASOURCE的数据库,里面有一张表为:information,表里面有多个属性,其中ID为int型,Password为varchar. 不知道怎样写才能与数据库中的ID和密码进

appcan 移动开发-appcan开发移动应用怎么连接Sqlserver数据库

问题描述 appcan开发移动应用怎么连接Sqlserver数据库 各位大侠们,小弟有个问题请教:在appcan开发移动应用时怎么连接SQLserver数据库啊,这个问题让我头疼了好几天了,望大家给我一点帮助,可不可以给些代码,谢谢各位了 解决方案 你是不是搞错了,SQLserver是服务器端的数据库吧 解决方案二: 写服务端后台或者用他的mac odbc服务

连接sqlserver数据库,端口号1433/web无效。大家知道怎么回事吗

问题描述 连接sqlserver数据库,端口号1433/web无效.大家知道怎么回事吗 jfinal通过C3p0连接sqlserver数据库,但是出现了这个问题...警告: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3ad54d4d -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a n

sql server-asp.net mvc4如何连接SQLServer数据库

问题描述 asp.net mvc4如何连接SQLServer数据库 就比如说我现在在SQLServer数据库中建好了一个名为A的数据库,A中有一个名为AB的表,表中有了一些数据.然后我又在解决方案中建了名为AB的模型和ABEntities的上下文,那我要怎么做才能让AB表中的数据在视图中显示出来呢?因为我是初学者,所以希望能给我比较详细的步骤,或是给我一个详细点的教程也好. 解决方案 用EF实体模型来操作,具体步骤百度一下就知道了. 解决方案二: ASP.NET MVC4全局过滤器 解决方案三: