C#连接数据库

时间:2021-01-02 13:30:55

//新加命名空间
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
----------------------------------------------------------------------

二.数据库简单登录验证  

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

C#连接数据库       

主要思想是通过判断输入用户名和密码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(); //显示主登陆窗体