C#窗体与sql数据库的连接

创建一个数据库
技术分享
create database data1220      --创建数据库
go                            --go代表后面的语句是在前面语句执行的基础上进行的
use data1220                  --确定操作数据库对象
go
create table users            --给数据库添加一个表
(
code int identity(1,1) primary key,   --定义一个自增长列,并设为主键     
name varchar(20) not null,         --姓名列,不许为空
pwd varchar(20) not null           --密码列,不许为空
)
insert into users values(‘zhangsan‘, 111)  --给数据库中的users表,添加数据
insert into users values(‘lisi‘ ,222)
insert into users values(‘wangwu‘,333)
insert into users values(‘zhaoliu‘,444)

select *from users    --查询数据
delete from users
技术分享

技术分享

通过C#winform程序访问数据库数据

用到的命名空间和变量类型:

using System.Data.SqlClient;

SqlConnection;数据库连接类

SqlCommand;数据库操作类

SqlDataReader:读取 

步骤:

1.建一个登录窗体

技术分享

2.login按钮上触发事件:连接数据库函数

技术分享
//按登录按钮,核对输入的数据
        private void button1_Click(object sender, EventArgs e)
        {            
            //后面拼写查询语句要用到窗体的信息
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            //创建数据库连接类的对象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            //将连接打开
            con.Open();
            //执行con对象的函数,返回一个SqlCommand类型的对象
            SqlCommand cmd = con.CreateCommand();
            //把输入的数据拼接成sql语句,并交给cmd对象
            cmd.CommandText = "select*from users where name=‘"+user+"‘and pwd=‘"+pwd+"‘";

            //用cmd的函数执行语句,返回SqlDataReader对象dr,dr就是返回的结果集(也就是数据库中查询到的表数据)
            SqlDataReader dr = cmd.ExecuteReader();
            //用dr的read函数,每执行一次,返回一个包含下一行数据的集合dr,在执行read函数之前,dr并不是集合
            if(dr.Read())
            {
                //dr[]里面可以填列名或者索引,显示获得的数据
                MessageBox.Show(dr[1].ToString());
            }
           //用完后关闭连接,以免影响其他程序访问
            con.Close();
        }
技术分享

技术分享                 

往数据库添加数据

技术分享
//添加数据
        private void button2_Click(object sender, EventArgs e)
        {
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            //创建数据库连接类的对象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //执行con对象的函数,返回一个SqlCommand类型的对象
            SqlCommand cmd = con.CreateCommand();
            //拼写语句
            cmd.CommandText = "insert into users values(‘"+user+"‘,‘"+pwd+"‘)";
            //增删改用ExecuteNonQuery,会返回一个整型数字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("添加成功");
            }
            else
            {
                MessageBox.Show("添加失败");
            }
        }
技术分享

技术分享

修改数据

技术分享
//根据编号修改数据
        private void button4_Click(object sender, EventArgs e)
        {
            string user = textBox1.Text;
            string pwd = textBox2.Text;
            string code=textBox3.Text;
            //创建数据库连接类的对象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //执行con对象的函数,返回一个SqlCommand类型的对象
            SqlCommand cmd = con.CreateCommand();
            //拼写语句
            cmd.CommandText = "update users set name=‘"+user+"‘,pwd=‘"+pwd+"‘ where code="+code;
            //增删改用ExecuteNonQuery,会返回一个整型数字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("修改成功");
            }
            else
            {
                MessageBox.Show("修改失败");
            }
            con.Close();
        }
技术分享

技术分享技术分享

删除数据

技术分享
private void button3_Click(object sender, EventArgs e)
        {
            string code = textBox3.Text;
            //创建数据库连接类的对象
            SqlConnection con = new SqlConnection("server=.;database=data1220;user=sa;pwd=123");
            con.Open();
            //执行con对象的函数,返回一个SqlCommand类型的对象
            SqlCommand cmd = con.CreateCommand();
            //拼写语句
            cmd.CommandText ="delete from users where code=" + code;
            //增删改用ExecuteNonQuery,会返回一个整型数字
            int count = cmd.ExecuteNonQuery();
            if (count > 0)
            {
                MessageBox.Show("删除成功");
            }
            else
            {
                MessageBox.Show("删除失败");
            }
            con.Close();
        }
技术分享

技术分享                    技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。