ADO.net学习记录 (一)

原创 2003年07月27日 11:28:00

 数据的规范化:是把数据尽可能的分解到多个表上,最小化重复相同数据的次数。
 
 ADO.net的主要对象元素:
 
 数据源:通常指的是一个关系数据库,如SQLserver等
 托管的数据供应程序:提供数据仓库通信的功能 如ODBC等
 Connection对象:建立一个页面程序与数据库驱动的通信管道
 Command对象:一个包含读写数据指令的工具
 DataReader/DataSet对象:存储已读出或写入数据的地方
 .Net控件:主要指<asp:datagrid>

 Connection对象:主要用于连接数据源
 通过Open()方法打开连接字符串中的连接
 连接字符串包含3各部分的信息:
 >> 第一部分指定要使用的供应程序或驱动程序的种类 //server=localhost
 >> 第二部分指定要使用的数据库     //database=Mydatabase 
 >> 第三部分通常包含安全信息,包括用户名,密码等 //uid=foolboy;pwd=Mypasswd
 
 Command对象和DataReader:读取和修改数据
 Command用法:
 objCommand = new OleDbCommand(strSQL,objConnection);
 objDbDataReader = objCommand.ExecuteReader();
 DataReader:存储数据
 读取方法 DataReader["FIELD"]
 
 数据绑定:
 是在数据源和数据使用者创建一个连接的过程。
  主要是指绑定到DataGrid上
 DataReader的局限:
 >> 只能读取数据,不能修改数据
 >> 只能向前循环数据
 >> 只能处理一个表的数据
 DataSet是他的替代品还是DataTable??他们的主要区别?
 
 
 DataSet和DataTable对象
 DataSet表示数据库中的数据,与DataReader不同它可以存储几个表和他们之间的关系。
 在使用表示主要要用到下面4各对象:
 >> DataTable: 表示表本身
 >> DataSet: 核心对象,建立多表之间的adhoc关系,可以一表中的一行和另一表的一行关联起来
 >> DataAdapter: 用于结果从Connection传给Dataset。Fill()方法把数据拷贝到DataSet中, Update()方法把DataSet中的数据烤回数据源。
 >> DataView: 表示DataSet中存储的DataTables的特定视图
 >> DataGrid: 等的DataSource最终只绑定到某具体DataView上
 
 ADO.net关于SQL Server的对象
 sqlConnection
 sqlCommand
 sqlDataAdapter

 数据异常处理

 常见问题:
 >> 代码包含对不存在的ADO.NET对象的引用
 >> 代码请求的数据为NULL不存在
 >> 代码的连接字符串错误
 >> 包含不存在的列或表的引用
 >> 没有提供正确的UserID和Password
 >> 代码是用语法不正确的SQl语句
 >> 网络问题导致数据库连接问题
 
        处理方法:
  利用 try ....catch  捕获错误信息

 更新数据方法

 问题:
  >> 如何更新?我们的修改都是基于断开连接的,如果将修改后的结果写入数据库中?
  >> 如何处理同步更新?两个人先后对更新了同一数据,怎么办?结果会被覆盖么?

 DataSet & DataTable & DataRow关系如下所示:
        --------------------------------------
 |            DataSet                 |
 |      |-------------------------|   |
 |      |     DataTable           |   |
 |      |                         |   |
   |      |      |----------------| |   |
 |      |      |    DataRow     | |   |
 |      |      |----------------| |   |
 |      |      |    DataRow     | |   |
 |      |      |----------------| |   |
        |      |-------------------------|   |
 |------------------------------------|
                          
 DataTable = DataSet.Tables["TName"];
 DataRow = DataTable.Rows;
 string strFirstName = DataRow[0]["FirstName"];

 这里的更新的实质都是对数据集DataSet的更新方法,没有涉及到对数据源的更新
 更新操作思路:
 1.添加记录 (添加行)
  添加记录首先需要声明两个变量 DataTable ,DataRow
  其中DataTable需要实例化到具体的数据集中的某个table
  DataRow = DataTable.NewRow()  声明为Table的新Row
  再对DataRow进行赋值,调用DataTable.Rows.Add(DataRow)即可
 2.修改纪录 (编辑行)
  首先声明一个变量 DataRow[] objRows用来存储要编辑的行
  objRows = DataTable.Select("查询条件");
  如果是一行,可以这样 objRows = DataTable.Rows[3];
  再对其进行修改 如 objRows[0][FIELD1]=""  objRows[0][FIELD2]=""
 3.删除纪录
  如下 DataTable.Rows[5].Delete();
  推想:应该可以这样,首先申明一个变量 DataRow[] objRows 用来存储要删除的行
  objRows = DataTable.Select("查询条件");
  

从零基础入门进行讲解:C#,WINFORM,ADO.NET,ASP.NET的教学视频

从零基础入门进行讲解:   C#,WINFORM,ADO.NET,ASP.NET的教学视频
  • guojun91
  • guojun91
  • 2014年10月13日 11:32
  • 768

ADO.NET之4-使用SqlCommand对象向数据库添加记录---ShinePans

源代码: using System; using System.Collections.Generic; using System.Data; using System.Data.SqlCl...
  • panshang1994
  • panshang1994
  • 2014年08月02日 13:46
  • 1698

ADO.NET操作数据库(一)

using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; usin...
  • chenrushui
  • chenrushui
  • 2016年10月26日 21:35
  • 1068

C# ADO.NET帮助类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D...
  • qq752923276
  • qq752923276
  • 2014年09月06日 17:53
  • 1471

ADO.NET 查询一条记录时,如何并查出上一条记录的ID,和下一条记录的ID

CREATE PROCEDURE pTable2_getPN@titleid varchar(30) ASdeclare @kind varchar(3...
  • myohmine
  • myohmine
  • 2006年03月31日 17:55
  • 899

ADO.net学习记录

数据的规范化:是把数据尽可能的分解到多个表上,最小化重复相同数据的次数。  ADO.net的主要对象元素:  数据源:通常指的是一个关系数据库,如SQLserver等 托管的数据供应程序:提供数据仓库...
  • wuyxdream
  • wuyxdream
  • 2005年07月15日 14:32
  • 814

ADO.NET学习记录

数据的规范化:是把数据尽可能的分解到多个表上,最小化重复相同数据的次数。  ADO.net的主要对象元素:  数据源:通常指的是一个关系数据库,如SQLserver等 托管的数据供应程序:提供数据仓库...
  • kobe09
  • kobe09
  • 2006年02月22日 00:00
  • 501

ADO.NET学习笔记(一)

ADO.NET创建基于服务的数据库并运用步骤如下:   0.打开VS,创建相应的解决方案,建立相应的窗体应用程序。   1.建立基于服务的附加数据库。   2.建立新表方法一:直接建...
  • zhx278171313
  • zhx278171313
  • 2013年09月08日 12:59
  • 821

ado.net 学习笔记

ADO.NET概述    一、。NET数据提供程序    。Net框架提供数据提供程序:SQL Client .NET Data Provider和Ole DB .NET Data Provider....
  • mzoy
  • mzoy
  • 2006年12月22日 19:30
  • 845

ADO.NET批量插入数据方法比较

http://www.cnblogs.com/xyd21c/archive/2011/01/07/1929861.html 技术方案一: 利用数据库访问类调用存储过程,利用循环逐条插入。很明显...
  • mituan1234567
  • mituan1234567
  • 2013年01月24日 11:17
  • 789
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.net学习记录 (一)
举报原因:
原因补充:

(最多只允许输入30个字)