C#连接sqlserver数据库和数据绑定DataGridView控件

标题 c#中连接sqlserver数据库

一开始写数据库连接时候很懵,怕忘了写在博客上面,发现这个需要耐心去看,不要觉得自己看不懂,看完了其实很简单,b站上面蛮多的视频

创建连接
连接数据库首先要建立连接,连接字符串这里分为两种:一种是windows身份认证,一种是sqlserver身份认证即需要密码,账号
windows身份认证字符串:

Data Source=(local);Initial Catalog=数据库名称;Integrated Security=True

Data Source表示设置需连接数据库服务器的名称,local表示的是本机,如果不是本机则可以用IP地址或服务器名称

sqlserver身份认证:

Data Source=(local); Initial Catalog=数据库名称;User ID=  ;Pwd=   ;

接下来就开始连接数据库并操作sql语句,判断数据库连接状态那里其实可以不要,一般都是能打开成功的,如果需要提示的话可以写

string strsql = "Data Source=(local);Initial Catalog=考勤;Integrated Security=True";//创建连接字符串
            SqlConnection con = new SqlConnection(strsql);//创建数据库的连接
            con.Open();//打开连接
            if (con.State == ConnectionState.Open)//判断数据库连接的状态是否为打开状态
            {
                MessageBox.Show("数据库连接成功");
            }
            String sqlcom= "select 账号,密码 from 学生登录表";//写出要执行的sql语句
            SqlCommand com = new SqlCommand(sqlcom, con);//通过数据库的Command对象来操作数据库,比如添加,查询,删除,修改
            com.ExecuteNonQuery();//使用Command对象的ExecuteNonQuery()的方法去执行对数据库的操作,该方法返回的为受影响的行数,比如你的sql语句导致有三行数据被删,那么受影响的行数即为3
            //
            //上面两行Command对象的ExecuteReader()方法也能起到同样的作用,ExecuteReader()方法执行对数据库的操作,并生成一个包含数据的SqlDataReader对象,所以要用SqlDataReader对象去接收
            //所以也可以用下面两行代码
            //SqlCommand com = new SqlCommand(sqlcom, con);
           // SqlDataReader sdr = com.ExecuteReader();

到这里为止连接数据库并执行sql语句的部分就完成了,但是这样仅仅是在数据库做出了改变,C#往往需要把改变后的表显示到VS中,那么就要用到DataGridView控件
在这里插入图片描述
我们需要去把查询后的表绑定到这个控件当中去,那么上述代码需要改一点点
我们要用到DataSet对象了,但是在用DataSet对象时需要用到DataAdapter对象,所以先写DataAdapter对象,DataAdapter对象是DataSet和数据源的桥梁,先生成一个DataAdapter对象获取数据适配器

   con = new SqlConnection("Data Source=(local);Initial Catalog=考勤;Integrated Security=True");
        con.Open();
        String sqlcom = "select * from 学生登录表";
        //其实就是这里改了一点点,这里可以用SqlDataAdapter去执行语句
        SqlDataAdapter da = new SqlDataAdapter(sqlcom, con);//生成一个数据适配器
        DataSet ds = new DataSet();//然后再生成一个DataSet对象,DataSet是一个数据集,存储数据在内存中
        da.Fill(ds);//用SqlDataAdapter对象的Fill()方法将数据填充到数据集当中,数据集中其实就是执行语句后的表
        //接下来就是把表绑定在控件中去显示了
        //方法一:如果数据集中只有一张表(这里的一张表是指你执行操作后生成的表,而不是在数据库两表或三表查询的表)那么可以直接用下面的代码
        dataGridView1.DataSource = ds.Tables[0].DefaultView;
        //方法二:如果有很多张表,则需要用下面的代码
        dataGridView1.DataSource = ds;
        dataGridView1.DataMember = "表名";
        //方法三:用DataTable对象去接收DataSet对象中的表
        DataTable dt;
        dt = ds.Tables[0];
        dataGridView1.DataSource = dt.DefaultView;

上面的绑定方法根据情况去选择就好了,这样就能把表显示在VS的DataGridView
中了
附一个完整的代码

 con = new SqlConnection("Data Source=(local);Initial Catalog=考勤;Integrated Security=True");
            con.Open();
            String sqlcom = "select * from 学生登录表";
            SqlDataAdapter da = new SqlDataAdapter(sqlcom, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataTable dt;
            dt = ds.Tables[0];
            dataGridView1.DataSource = dt.DefaultView;

执行后的结果就是下图
在这里插入图片描述
图片很粗糙,也是为了演示随便弄的

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值