图书管理系统的设计研讨.ppt

图书管理系统的设计研讨

以下代码示例演示如何创建 SqlCommand 对象。 string sql = SELECT CategoryID, CategoryName FROM Categories; SqlCommand command1 = new SqlCommand(sql, sqlConnection1); 参数sql为需执行的SQL命令,上述语句将生成一个命令对象command1,对由sqlConnection1连接的数据源指定检索(SELECT)操作。这两个参数在创建Command对象时也可以省略不写,而在创建了Command对象后,再通过设置Command对象的CommandText和CommandType等属性来指定。 Command对象的主要属性和方法分别列于表6.8和表6.9中。 Command对象的CommandType属性用于设置命令的类别:可以是存储过程、表名或SQL语句。当将该属性值设为CommandType.TableDirect时,要求CommandText的值必须是表名而不能是SQL语句。例如: OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = students; cmd.CommandType = CommandType.TableDirect; cmd.Connection = conn; 执行这段代码以后,将返回students表中的所有记录。它等价于以下代码: OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = Select * from students; cmd.CommandType = CommandType.Text; cmd.Connection = conn; (3)DataReader对象。使用DataReader可以实现对特定数据源中的数据进行高速、只读、只向前的数据访问。与数据集(DataSet)不同,DataReader是一个依赖于连接的对象。就是说,它只能在与数据源保持连接的状态下工作。所有 DataReader 对象的基类均为 DbDataReader 类。 同Command类似,每个 .NET Framework 数据提供程序包括一个 DataReader 对象:OLE DB .NET Framework 数据提供程序包括一个 OleDbDataReader 对象;SQL Server .NET Framework 数据提供程序包括一个 SqlDataReader 对象;ODBC .NET Framework 数据提供程序包括一个 OdbcDataReader 对象;Oracle .NET Framework 数据提供程序包括一个 OracleDataReader 对象。 使用DataReader 检索数据首先必须创建Command对象的实例,然后通过调用 Command的ExecuteReader 方法创建一个DataReader,以便从数据源检索行。 以下示例说明如何使用 SqlDataReader,其中command代表有效的 SqlCommand 对象。 SqlDataReader reader = command.ExecuteReader(); 在创建了DataReader对象后,就可以使用 Read 方法从查询结果中获取行。通过传递列的名称或序号引用,可以访问返回行的每一列。为了实现最佳性能,DataReader 也提供了一系列方法,使得能够访问其本机数据类型(GetDateTime、GetDouble、GetString、GetInt32 等)的列值。 以下代码示例循环访问一个 DataReader 对象,并从每个行中返回两个列。 if (reader.HasRows) //判断是否有结果返回 while (reader.Read()) //依次读取行 Console.WriteLine(\t{0}\t{1}, reader.GetInt32(0), reader.GetString(1)); else Console.WriteLine(No rows returned.); reader.Close(); 每次使用完 DataReader 对象后都应调用 Close 方法显式关闭。 DataReader对象的常见的属性和方法分别列于表6.10和表6.11中。 (4)DataSet对象。数据集(DataSet)相当于内存中暂存的数据库,不仅可以包括多张数据表,还可以包括数据表之间的关系和约束。允许将不同类型的数据表复制到同一个数据集中(其中某些数据表的数据类型可能需要做

文档评论(0)

1亿VIP精品文档

相关文档