`
yingyingol
  • 浏览: 739395 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
转载自:
http://www.dayol.cn/html/world/allcol/2007/0619/5513.html


一.用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小结).

    ADO.NET 小结。

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

    ADO.NET入门

    ado.net 如何读取 exce?ADO.NET在开发中的部分使用方法和技巧?数据库开发个人总结(ADO.NET小结)。。。本资源告诉你!

    ADO.NET本质论.pdf

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

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

    连接数据库 SqlConnection myConnection = new SqlConnection(); myConnection.ConnectionString = “user id=sa;password=sinofindb;initial catalog=test;data source=127.0.0.1;Connect Timeout=30”; ...

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

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

    ASP.NET完全入门PDF

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

    ADO.NET 连接数据库字符串小结(Oracle、SqlServer、Access、ODBC)

    ADO.NET 连接数据库字符串小结,包括Oracle、SqlServer、Access、ODBC,需要的朋友可以收藏下

    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.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对象 ...

    精通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 3.5 开发大全11-15

    第7章 数据库与ADO.NET基础 7.1 数据库基础 7.1.1 结构化查询语言 7.1.2 表和视图 7.1.3 存储过程和触发器 7.2 使用SQL Server 2005 管理数据库 7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 ...

    ASP.NET 3.5 开发大全1-5

    第7章 数据库与ADO.NET基础 7.1 数据库基础 7.1.1 结构化查询语言 7.1.2 表和视图 7.1.3 存储过程和触发器 7.2 使用SQL Server 2005 管理数据库 7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 ...

    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对象 ...

    C#与数据库经典访问技术

    2.1 ADO.NET概述 2 2.1.1 ADO.NET体系结构 2 2.1.2 ADO.NET对象模型 3 2.2 Connection 对象与数据库连接 4 2.2.1 Connection对象的常用属性 4 2.2.2 Connection对象的连接字符串 5 ...2.9 本章小结 49

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

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

    C#与.NET3.5高级程序设计(第4版) 中文4

    第22章 ADO.NET之一:连接层 580 22.1 ADO.NET高层次定义 580 22.2 ADO.NET的数据提供程序 581 22.3 其他的ADO.NET命名空间 584 22.4 System.Data命名空间的类型 584 22.5 使用接口抽象数据提供程序 588...

    Visual C#.NET程序设计(含书籍和源码) 李兰友 杨晓光 清华出版社,北交出版社

    本章小结 习题 第2章 C#语言基础 2.1 数据类型 2.2 表达式 2.3 程序控制语句 本章小结 习题 第3章 C#.NET面向对象程序设计 3.1 类 3.2 接口 3.3 委托与事件 3.4 编译和调试 本章小结 习题 第4章 常用Windows窗体控件...

Global site tag (gtag.js) - Google Analytics