c#连接SQL数据库并读取数据表的两种方法

今天分享一下C#如何连接数据库并且读取数据表的两种方法,并用代码实现SqlDataAdapter的方法。
C#连接SQL数据库主要通过微软库函数来实现,具体步骤分为以下三步
第一,使用SqlConnection对象连接数据库; 需要引用System.Data.SqlClient;

第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;

第三,第二步会执行SQL语句,然后对SQL或存储过程执行后返回的**“结果”**进行操作。
针对结果可以有两种操作方法。
(1)通过使用SqlDataReader来时刻保持数据库连接,一行一行读取,访问数据库表中的内容,这种方式是“只读的”,可以用来登陆界面验证账户。具有很高的时效性,速度比较快。
(2)通过使用DataSet并用SqlDataAdapter来操作数据库。
其中DataSet会创建一个本地数据表,SqlDataAdapter用来操作本地数据库,并与服务器数据库进行交互,当建立本地数据表并调用Fill()函数填充数据表后,可以关闭与数据库服务器的连接,当操作完成后,再建立连接把本地数据库更新到服务器中。
可以做增、删、改等操作。

了解了基本的步骤以后,下面来看看如何用C#编写一个简单的小程序去读取这些数据。

1、首先我们建立一个数据表用来测试,打开SSMS,建立一张测试表在这里插入图片描述
2、建立一个名字为People的表,给他3个字段分别位Name、Age和Sex在这里插入图片描述
3、然后给这个表加上几行数据用于测试在这里插入图片描述
这样我们的数据表就建立好了,下面我们来编写代码。
由于连接SQL数据库前两步都是一样的实现,我们可以先建立一个Winform的项目。

1、在Form1上增加一个button和一个DataGridView控件(用来显示数据表)
在这里插入图片描述
双击Button1,在Button的相应事件里面添加以下代码

    string ConnString = "server=.;database=first_tesst;integrated security=SSPI"; //这里使用连接字符串来连接
    SqlConnection conn = new SqlConnection(); //实例化连接对象 也可以写成SqlConnection conn = new           	SqlConnection(ConnString); 这样就不用下一句了

    conn.ConnectionString = ConnString;//设置连接字符串
    conn.Open();//连接数据库   

到这里就与数据库建立了连接,如果出现错误,一般都是连接字符串那里配置出错,可以检查一下。

由于使用sqlconnection,不能用Reader方式直接读取整张表显示在控件中,所以这里用SqlDataAdapter来显示

        SqlDataAdapter data = new SqlDataAdapter(sql, conn); //实例化adapter的对象

        DataSet dt = new DataSet();  //创建dataSet
        data.Fill(dt, "table1"); // 将返回的数据集作为“表”填入DataSet中
        DataTable datable = dt.Tables["table1"];  //将本地的table1这个表传给datable, DataSet是一个“表”的集合,而DataTable只是一张表。
        dataGridView1.DataSource = datable;  //显示数据表,注意DataSet是不能用于dataGridView控件显示
        conn.Close();

在这里插入图片描述
点击按钮后,会显示之前添加的数据。

总结:
1、SqlDataReader是流的读取,只能一次读取一行数据,并不是整张表,可以用于账户验证。但是在OLE DB下可以读取整张表。
2、SqlDataAdapter用的比较多,方便操作。可以通过dataSet来操作单个数据表。

  • 24
    点赞
  • 232
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值