`

数据库开发个人总结(ADO.NET小结)(转)

    博客分类:
  • C#
阅读更多

一.用SqlConnection连接SQL Server

1..加入命名空间

using System.Data.SqlClient;

2.连接数据库

SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = "user id=sa;password=sinofindb;initial catalog=test;data source=127.0.0.1;Connect Timeout=30";
myConnection.Open();

 

改进(更通用)的方法:

string MySqlConnection="user id=sa;password=sinofindb;Database =test;data source=127.0.0.1;Connect Timeout=30";
SqlConnection myConnection = new SqlConnection(MySqlConnection);
myConnection.Open();

 

二。用OleDbConnection连接


1.加入命名空间

using System.Data.OleDb;
 

2.连接sql server

string MySqlConnection="Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=test;Integrated Security=SSPI;";

SqlConnection myConnection = new SqlConnection(MySqlConnection);
myConnection.Open();

 

3.连接Access(可通过建立.udl文件获得字符串)

string MySqlConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db2000.mdb;

Persist Security Info=False;


4.连接Oracle(也可通过OracleConnection连接)

string MySqlConnection="Provider=MSDAORA;Data Source=db; user id=sa;password=sinofindb";

 

三.创建Command对象

 
1.SqlCommand 构造函数

①初始化 SqlCommand 类的新实例。public SqlCommand();

SqlCommand myCommand = new SqlCommand();

 

②初始化具有查询文本的 SqlCommand 类的新实例。public SqlCommand(string);

String mySelectQuery = "SELECT * FROM mindata";
SqlCommand myCommand = new SqlCommand(mySelectQuery);
③初始化具有查询文本和 SqlConnection 的SqlCommand类实例。

Public SqlCommand(string, SqlConnection);

String mySelectQuery = "SELECT * FROM mindata";
string myConnectString = "user id=sa;password=;database=test;server=mySQLServer";
SqlConnection myConnection = new SqlConnection(myConnectString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
 

④初始化具有查询文本、SqlConnection 和 Transaction 的 SqlCommand 类实例。

public SqlCommand(string, SqlConnection, SqlTransaction);

SqlTransaction myTrans = myConnection.BeginTransaction();
String mySelectQuery = "SELECT * FROM mindata";
string myConnectString = "user id=sa;password=;database=test;server=mySQLServer";
SqlConnection myConnection = new SqlConnection(myConnectString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection, myTrans);
 

2.建立SqlCommand与SqlConnection的关联。

myCommand.Connection = myConnection;

或者:SqlCommand myCommand = myConnection.CreateCommand;

 

3.设置SqlCommand的查询文本。

myCommand.CommandText = "SELECT * FROM mindata";

或者第2种构造:SqlCommand myCommand = new SqlCommand(mySelectQuery);

给SqlCommand对象提供两个查询字符串,每个查询字符串访问不同的表,返回不同的结果集。

两个查询语句用分号分隔。

 

4. 执行命令。

ExecuteReader
 返回一行或多行
 
ExecuteNonQuery
 对 Connection 执行 Transact-SQL 语句并返回受影响的行数(int)
 
ExecuteScalar
 返回单个值(如一个聚合值).返回结果集中第一行的第一列。忽略额外的列或行
 
ExecuteXmlReader
 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。
 

 

SqlDataReader myReader = myCommand.ExecuteReader();

或SqlDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

   while(myReader.Read()) //循环读取数据
   {
      Console.WriteLine(myReader.GetString(0));// 获取指定列的字符串形式的值
      Console.WriteLine(myReader. GetValue(1));// 获取以本机格式表示的指定列的值
    }
 

CommandText = "select count(*) as NumberOfRegions from region";
Int count = (int) myCommand.ExecuteScalar();

 

关于OleDbCommand对象的使用。

 

四.DataReader的使用

1.遍历结果集

while (myReader.Read())
  Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));
myReader.Close();
 

2.使用序数索引器。

while (myReader.Read())
  Console.WriteLine("\t{0}\t{1}", myReader[0].ToString(), myReader[1].ToString());
myReader.Close();

 
3.使用列名索引器。

while (myReader.Read())
  Console.WriteLine("\t{0}\t{1}", myReader["code].ToString(), myReader["name"].ToString());
myReader.Close();

 

4.使用类型访问器。

public char GetChar(int i); 获取指定列的单个字符串形式的值
public DateTime GetDateTime(int i); 获取指定列的 DateTime 对象形式的值
public short GetInt16(int i); 获取指定列的 16 位有符号整数形式的[C#]
public string GetString(int i); 获取指定列的字符串形式的值


5.得到列信息。

myReader.FieldCount     获取当前行中的列数
myReader.GetFieldType(序号)   获取是对象的数据类型的 Type
myReader.GetDataTypeName(序号)  获取源数据类型的名称
myReader.GetName(序号)     获取指定列的名称
myReader.GetOrdinal(序号)   在给定列名称的情况下获取列序号


6.得到数据表的信息。

myReader.GetSchemaTable()   返回一个 DataTable
 

7.操作多个结果集。
myReader.NextResult()     使数据读取器前进到下一个结果集
do
{
  while (myReader.Read())
  Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));
}
while(myReader.NextResult());


五.DataAdapter

 
1.创建SqlDataAdapter
初始化 SqlDataAdapter 类的新实例。
public SqlDataAdapter();
将指定的 SqlCommand 作为SelectCommand 属性,初始化 SqlDataAdapter 类的新实例。
public SqlDataAdapter(SqlCommand);
用 selectcommand字符串 和 SqlConnection对象初始化SqlDataAdapter 类的新实例。
public SqlDataAdapter(string, SqlConnection);
用 selectcommand字符串 和 一个连接字符串 初始化SqlDataAdapter 类的新实例。
public SqlDataAdapter(string, string);


2.DataAdapter和SqlConnection,SqlCommand建立关联。
  1.DataAdapter在构造参数时建立
  2.SqlDataAdapter adapter = new SqlDataAdapter();
     adapter.SelectCommand = new SqlCommand(query, conn);

 
3.DataAdapter.Fill()方法。

在 DataSet 中添加或刷新行以匹配使用 DataSet 名称的数据源中的行,并创建一个名为“Table”的 DataTable。
public override int Fill(DataSet);
在 DataSet 中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
 public int Fill(DataSet, string);


在 DataSet 的指定范围中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。

 public int Fill(DataSet, int, int, string);


在 DataTable 中添加或刷新行以匹配使用 DataTable 名称的数据源中的行。
 public int Fill(DataTable);

 
在 DataTable 中添加或刷新行以匹配使用指定 DataTable 和 IDataReader 名称的数据源中的行。
 protected virtual int Fill(DataTable, IDataReader);

在 DataTable 中添加或刷新行以匹配使用 DataTable 名称、指定的 SQL SELECT 语句和 CommandBehavior 的数据源中的行。
 protected virtual int Fill(DataTable, IDbCommand, CommandBehavior);
 

六.DataTable 类

七.DataColumn 类

八.DataRow 类
 

九.DataSet 类
1.创建DataSet 对象

初始化 DataSet 类的新实例。
public DataSet();
 
用给定名称初始化 DataSet 类的新实例。
public DataSet(string);
 

2.用DataAdapter填充DataSet

   DataSet myds=new DataSet();
adapter.fill(myds)
adapter.fill(myds,”表名”);  用一个表去填充DataSet.

 

十. DataTableCollection 类。    表示 DataSet 的表的集合。

DataTableCollection dtc = ds.Tables;
DataTable table = dtc[“表名”];
String strExpr = "id > 5";
String strSort = "name DESC";
DataRow[] foundRows = customerTable.Select( strExpr, strSort,);

进行动态的筛选和排序。
DataTable.Select() 方法 :  获取 DataRow 对象的数组,

①获取所有 DataRow 对象的数组。
public DataRow[] Select();

 

②按主键顺序(如没有主键,则按照添加顺序),获取与筛选条件相匹配的所有 DataRow 对象的数组。
public DataRow[] Select(string);


③获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。

public DataRow[] Select(string, string);


④获取与排序顺序中的筛选器以及指定的状态相匹配的所有 DataRow 对象的数组。

public DataRow[] Select(string, string, DataViewRowState);

 

十一。DataView 类 : 是DataTable内容的动态视图。

1.  创建对象

初始化 DataView 类的新实例。

  public DataView();

用指定的 DataTable 初始化 DataView 类的新实例。

  public DataView(DataTable);

用指定的 DataTable、RowFilter、Sort 和 DataViewRowState 初始化 DataView 类的新实例。

  public DataView(DataTable, string, string, DataViewRowState);


DataView myview = new DataView(ds.Tables["Suppliers"], "id > 5", "name DESC",
DataViewRowState.CurrentRows);


2 .得到DataView的行数据。

   foreach (DataRowView myrowview in myview)
   {
     for (int i = 0; i < myview.Table.Columns.Count; i++)
        Console.Write(myrowview [i] + "\t");
     Console.WriteLine();
   }

评论

相关推荐

    数据库开发个人总结(ADO.NET小结)

    总的来说,ADO.NET中的SqlConnection和SqlCommand是数据库开发的基础,它们提供了灵活且强大的接口,允许开发者高效地与各种数据库进行交互。理解和熟练使用这些组件对于任何.NET平台上的数据库开发人员来说都是至关...

    如何使用ADO.NET连接数据库

    ADO.NET 连接数据库详解 ADO.NET 是 Microsoft .NET Framework 的一部分,提供了访问数据库的能力。使用 ADO.NET,可以连接各种类型的数据库,如 ...使用 ADO.NET 可以访问各种类型的数据库,提高了开发效率和灵活性。

    ADO.NET小结.doc

    ADO.NET是.NET Framework中用于与数据源交互的组件,它提供了高效、安全的数据库访问机制。在本文中,我们将深入探讨ADO.NET的核心概念和主要组件,以帮助理解如何使用它来操作数据库。 首先,ADO.NET的主要组件...

    ADO.NET 小结。

    ADO.NET 小结。 总结ADO.NET的两大组件,.NET数据提供程序的4个核心对象。 总结各个对象的作用。 总结数据库与应用程序之间交互的几条路径,每条路径的执行步骤,使用到的对象和方法。 图中黑色箭头表示应用程序从...

    ADO.NET本质论.pdf

    本书由资深数据库教师编写,全面介绍了ado.net。书中深入剖析了ado.net的本质,探索了类、接口、属性和方法的工作原理,同时还为其他数据访问api(包括oledb,ado,odbc和jdbc)的程序员,提供了有价值的参考材料。...

    ADO.NET 2.0技术内幕(高清 中文 带书签 全)

    ADO.NET 2.0技术内幕(高清 中文 带书签 全) 编辑推荐 核心主题全面涵盖,深入剖析个人精髓;示例丰富,同时提供Visual ...15.6 小结 15.7 常见问题 第Ⅴ部分 附录 附录A 使用其他.NET数据提供程序 附录B 示例和工具

    ado.net教程[doc]

    ADO.NET是微软.NET框架中用于访问...总的来说,了解和掌握ADO.NET对于.NET平台上的数据库应用开发至关重要。通过这个教程,学习者可以深入理解ADO.NET的工作原理,提升数据访问的技能,并能够熟练地运用在实际项目中。

    11:ADO.NET_Command、DataReader对象和操作

    ADO.NET是Microsoft开发的一种数据访问技术,旨在提供高效、灵活且强大的数据访问能力,尤其适用于Web应用程序和分布式环境。它由一系列类库组成,主要包含Connection、Command、DataAdapter、DataSet以及DataReader...

    【ASP.NET编程知识】ADO与ADO.NET的区别与介绍.docx

    ADO(ActiveX Data Objects)和ADO.NET(ActiveX Data Objects .NET)是两种数据访问技术,都是由微软开发的,用于访问和操作数据库中的数据。它们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且...

    ado.net下载网址

    ### 小结 虽然提供的链接本身可能只是一个简单的资源链接,但从这个起点出发,我们深入探讨了ADO.NET的基本概念、核心组件及其工作原理。了解这些基础知识对于任何希望使用ADO.NET进行数据访问的.NET开发人员来说都...

    C#利用Ado访问数据库

    本文将详细介绍如何使用C#结合ADO.NET技术实现对数据库的访问与操作。主要内容包括:C#与ADO.NET的基本概念、连接数据库的方法、执行SQL语句的方式以及数据集(DataSet)的使用。 #### C#与ADO.NET简介 - **C#语言**...

    ASP.NET学习小结

    在描述中提到的"ADO.NET中的视图和过滤器",可能涉及到如何使用ADO.NET访问数据库中的视图以及应用过滤条件来获取特定数据。视图是数据库中的虚拟表,集合了多个表的数据,而过滤器则是为了从这些数据中筛选出需要的...

    精通c#数据库开发(pdg)

    WinForm实现个人日程管理 2.1 案例简介 2.2 应用程序概述 2.3 方案设计 2.3.1 应用程序前端的设计 2.3.2 后端数据库表的设计 2.3.3 后端数据库表间逻辑 2.3.4 后端数据库存储过程的设计 2.4...

    ASP.NET应用开发案例教程

    5.2 ADO.NET数据库连接概述 5.3 使用Connection对象 5.4 使用Command和DataReader对象 5.4.1 Command对象 5.4.2 DataReader对象 5.4.3 使用Command对象实现存储过程访问 5.5 使用DataSet对象 ...

    ASP.NET完全入门

    第三篇 ADO.NET数据库编程 第一章 ADO.NET简介 i. ADO.NET的发展历史 ii. ADO.NET框架模型 iii. ADO.NET对比ADO iv. 小结 第二章 访问数据库 i. 记录插入 ii. 记录修改 iii. 记录删除 第三章 存储过程和...

    asp.net 完全入门

    第三篇 ADO.NET数据库编程 第一章 ADO.NET简介 i. ADO.NET的发展历史 ii. ADO.NET框架模型 iii. ADO.NET对比ADO iv. 小结 第二章 访问数据库 i. 记录插入 ii. 记录修改 iii. 记录删除 第三章 存储...

    ASP.NET应用与开发案例教程

    5.2ADO.NET数据库连接概述 5.3使用Connection对象 5.4使用Command和DataReader对象 5.4.1Command对象 5.4.2DataReader对象 5.4.3使用Command对象实现存储过程访问 5.5使用DataSet对象 5.5.1DataTableCollection对象 ...

    ASP.NET完全入门PDF

    第三篇ADO.NET数据库编程 第一章 ADO.NET简介i. ADO.NET的发展历史ii. ADO.NET框架模型 iii. ADO.NET对比ADO iv. 小结第二章 访问数据库i. 记录插入 ii. 记录修改iii. 记录删除第三章 存储过程和触发器 i. 使用存储...

    Visual C# 2005数据库通用模块开发与系统移植 配书目录及代码,这样看代码就方便了

     本书以面向对象思想和设计模式为指导,通过大量实例,详细介绍了ADO.NET、基于数据库应用的通用模块、数据库系统综合实例设计和开发、数据库的移植升级、项目打包发布和安装等方面的应用技术,内容包括数据库开发...

Global site tag (gtag.js) - Google Analytics