加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

NET Framework数据提供程序的4个核心对象

(2011-11-04 11:05:13)
标签:

it

分类: 推百优
 NET Framework数据提供程序的4个核心对象

.NET Framework数据提供程序的4个核心对象

对象

说明

Connection

建立与特定数据源的连接

Command

对数据源执行命令

DataReader

从数据源中读取只进且只读的数据流

DataAdapter

用数据源填充DataSet并解析更新

不同的命名空间中都有相应的对象,比如我们要操作SQL Server数据库,需要使用System.Data.SqlClient命名空间,SQL数据提供程序中的类都以”Sql”开头,所以它4个核心对象分别为:SqlConnectionSqlCommandSqlDataReaderSqlDataAdapter

 

ListView对数据进行查询的具体步骤操作SQL Server数据库,需要使用System.Data.SqlClient命名空间ListView对数据进行操作是使用SqlCommand。使用SqlCommand操作数据库,必须与数据库保持连接。

     1:获取数据库连接字符串

         // String connString = "Data Source=.;Initial Catalog=student;User ID=sa;Pwd=sa";

     2:创建SqlConnection对象并将数据库连接字符串传入。

         // SqlConnection connection = new SqlConnection(connString);

     3:使用Connection对象的Open()方法打开数据库。

         // DBHelper.connection.Open();

     4:创建SqlCommand对象,并将sql语句和数据库连接对象传入。

         // SqlCommand command = new SqlCommand(sql, DBHelper.connection);

     5:

a)       SqlCommand对象的ExecuteScalar()方法,这个方法只返回查询的结果中的第一行第一列的值,所以当我们的查询结果只有一个值时,通常使用这个方法,比如使用聚合函数的时候,方法的返回值要进行显示类型转换

//int row = command.ExecuteScalar();

b)       SqlCommand对象的ExecuteReader()方法,这个方法返回一个SqlDataReader对象,通过这个SqlDataReader对象我们就可以从数据库读取数据了。

//SqlDataReader dataReader = command.ExecuteReader();

c)        SqlCommand对象的ExecuteNonQuery()方法。这个方法用于执行指定的SQL语句,如:update改,insert增,Delete删。它返回的是受SQL语句影响的行数。

//int row = command.ExecuteNonQuery();

     6:使用SqlDataReader对象的Read()方法就可以从数据库中读取数据了。

                while (dataReader.Read())

                {

                    //将读取到的数据赋给变量,需要显示类型转换

                    id = (int)dataReader["id"];

                    name = (string)dataReader["name"];

                    nianling = (int)dataReader["nianling"];

                    age = (string)dataReader["age"].ToString();

     7: 将变量中的值添加到ListView控件上

ListViewItem lv = new ListViewItem(Convert.ToString(id));

lv.Tag = dataReader["id"];

        listView1.Items.Add(lv);

 lv.SubItems.AddRange(new string[] { name,nianling.ToString(), age.ToString() });

                }

     8:关闭SqlDataReader对象,使用close()方法关闭。

              // dataReader.Close();

     9:关闭数据库。

              // DBHelper.connection.Close();

 

DataGridView对数据库进行查询的具体步骤操作SQL Server数据库,需要使用System.Data.SqlClient命名空间DataGridView对数据库进行操作时使用DataSet数据集和SqlDataAdapter。使用数据集操作数据库,无须一直保持与数据库的连接,因为数据集可以将数据库的数据缓存在本地(可以理解为是本地的临时数据库)。

       1:获取数据库连接字符串

         // String connString = "Data Source=.;Initial Catalog=student;User ID=sa;Pwd=sa";

     2:创建SqlConnection对象并将数据库连接字符串传入。

         // SqlConnection connection = new SqlConnection(connString);

       3:创建数据集对象,DataSet

              //DataSet ds = new DataSet();

       4:创建SqlDataAdapter对象,并将Sql语句和数据库连接对象传入。

              // SqlDataAdapter sda = new SqlDataAdapter(sql, DBHelper.conn);

       5:调用SqlDataAdapter对象的Fill()方法填充数据集,方法需要2个参数,第一个是数据集对象,第二个是数据库表名。意思是:将数据库表中的数据填充到数据集中了,使用运货车Fill()的方法完成的。

              // sda.Fill(ds, "Stu");

       6:DataGridView指定数据源

              // dataGridView1.DataSource = ds.Tables["Stu"];

 

DataGridView对数据库进行修改的具体步骤操作SQL Server数据库,需要使用System.Data.SqlClient命名空间

       1:声明一个确定文本框

         // DialogResult result =

                MessageBox.Show("确定修改保存吗?","操作提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);

     2:判断确定文本款, 如果用户点击的是确定

         // if (result == DialogResult.OK)

     3:自动生成一个更新的SQL命令,参数是运货车对象SqlDataAdapter

         // SqlCommandBuilder scb = new SqlCommandBuilder(sda);

     4:调用SqlDataAdapterUpdate方法,更新数据库, 需要2个参数,第一个参数是被修改的数据集对象,第二个参数是数据集对应的数据库表名

         // sda.Update(ds,"Stu");

 

 

认识Connection对象

什么是数据库连接字符串? =号右边是数据库连接字符串,左边是返回值。

       String connString = "Data Source=.;Initial Catalog=student;User ID=sa;Pwd=sa";

什么是Connection?建立与特定数据源的连接

       SqlConnection connection = new SqlConnection(connString);

 

.NET数据提供程序及相应的连接类

.NET数据提供程序

连接类

SQL数据提供程序

System.Data.SqlClient命名空间

SqlConnection

OLE DB数据提供程序

System.Data.OleDb命名空间

OleDbConnection

ODBC 数据提供程序

System.Data.Odbc命名空间

OdbcConnection

Oracle 数据提供程序

System.Data.OracleClient命名空间

OracleConnection

 

为了能连接数据库,Connection对象提供了一些属性和方法,如下图

属性

说明

ConnectionString

用于连接数据库的连接字符串

方法

说明

Open

使用ConnectionString属性所指定的设置打开数据库连接

Close

关闭与数据库的连接

ADO.NET中,如果使用.NET Framework 数据提供程序操作数据库,必须显示关闭与数据库的连接,也就是说在操作完数据库后,必须调用Connection对象的Close()方法关闭连接。

 

认识Command对象

什么是Command?对数据源执行命令

     SqlCommand command = new SqlCommand(sql, DBHelper.connection);

 

操作数据库,这就需要Command对象,Command对象可以对数据库执行增删改查的命令。

Command对象属于.NET Framework数据提供程序,不同的数据提供程序有自己的Command对象。

.NET数据提供程序

连接类

SQL数据提供程序

System.Data.SqlClient命名空间

SqlCommand

OLE DB数据提供程序

System.Data.OleDb命名空间

OleDbCommand

ODBC 数据提供程序

System.Data.Odbc命名空间

OdbcCommand

Oracle数据提供程序

System.Data.OracleClient命名空间

OracleCommand

 

Command对象的主要属性和方法

属性

说明

Connection

Command对象使用的数据库连接

CommandText

执行的SQL语句

方法

说明

ExecuteNonQuery

执行不返回行的语句,如增删改

ExecuteReader

执行查询命令,返回DataReader对象

ExecuteScalar

返回单个值,如执行COUNT*

 

认识DataReader对象

什么是DataReader?从数据源中读取只进且只读的数据流

       SqlDataReader dataReader = command.ExecuteReader();

 

使用DataReader对象可以从数据库中检索只读的数据,它每次从查询结果中读取一行到内存中,所以使用DataReader对数据库进行操作非常快,用DataReader读取数据时,不能够对它们进行修改,所以它是只读的。而且在读取数据的时候,要始终保持与数据库的连接。

DataReader属于.NET数据提供程序,所以每种.NET数据提供程序都有自己的DataReader类。

 

.NET数据提供程序及其DataReader

.NET数据提供程序

DataReader

SQL 数据提供程序

System.Data.SqlClient命名空间

SqlDataReader

OLE DB数据提供程序

System.Data.OleDb命名空间

OleDbDataReader

ODBC 数据提供程序

System.Data.Odbc命名空间

OdbcDataReader

Oracle 数据提供程序

System.Data.OracleClient命名空间

OracleDataReader

 

DataReader对象的主要属性和方法

属性

说明

HasRows

是否返回了结果,如果有查询结果返回True,否者返回False

FieldCount

当前行中的列数

方法

说明

Read()

前进到下一行记录,如果读到记录返回True,否者返回False

Close()

关闭DataReader对象

 

 

认识DataAdapter对象

什么是DataAdapter? 用数据源填充DataSet并解析更新

       SqlDataAdapter  sda = new SqlDataAdapter(sql, DBHelper.conn);

 

数据适配器(DataAdapter)相当于一辆货车,将数据库的数据放到DataSet数据集中,如果DataSet数据集的数据改变,DataAdapter就将新的数据放到数据库中。

 

.NET数据提供程序及其DataReader

.NET数据提供程序

DataAdapter

SQL 数据提供程序

System.Data.SqlClient命名空间

SqlDataAdapter

OLE DB数据提供程序

System.Data.OleDb命名空间

OleDbDataAdapter

ODBC 数据提供程序

System.Data.Odbc命名空间

OdbcDataAdapter

Oracle 数据提供程序

System.Data.OracleClient命名空间

OracleDataAdapter

 

DataAdapter对象的主要属性和方法

属性

说明

SelectCommand

从数据库检索数据的Command对象

方法

说明

Fill

DataSet中的表填充数据

Update

DataSet中的数据提交到数据库

 

认识DataSet数据集

       数据集是一个临时的数据库,它把应用程序需要的数据临时保存在内存中,由于这些数据缓存在本地的机器上,就不需要一直保持与数据库的连接,应用程序需要数据时,就直接从内存中的数据集读数据,也可以对数据集中的数据进行修改,然后将修改后的数据一起提交给数据库。

       如何创建DataSet:创建DataSet需要使用new关键字。

语法:DataSet 数据集对象 = new DataSet数据集的名称字符串);

方法中的参数 数据集的名称字符串 可以有,也可以没有,如果没有写参数,创建的数据集的名称就默认为NewDataSet

例如:DataSet myDataSet = new DataSet();

      DataSet myDataSet = new DataSet”MySchool”);

 


本文档由:推百优整理总结

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有