数据访问知识框架

ADO.NET
两个命名空间,三个类。
一、两个命名空间:
using System.Data;
using System.Data.SqlClient;

二、三个类:
SqlConnection    SqlCommand    SqlDataReader

(一)SqlConnection链接类
1.构造
链接字符串的写法:server=服务器IP或服务器名;database=数据库名;uid=用户名;pwd=密码
server=.;database=mydb;uid=sa;pwd=123
Data Source=.;Initial Catalog=mydb;Persist Security Info=True;User ID=sa;Password=***********

SqlConnection conn = new SqlConnection();
SqlConnection conn = new SqlConnection("链接字符串");

2.属性
ConnectionString:string,链接字符串

3.方法
Open()
Close()
CreateCommand()

(二)SqlCommand命令类
1.构造
SqlCommand cmd = new SqlCommand(["Sql语句",链接对象,事务对象]);
SqlCommand cmd = conn.CreateCommand();
2.属性
CommandText:string 要执行的SQL语句或存储过程的名字
Connection:SqlConnection 指定通过哪个链接访问数据库
Parameters:SqlParameterCollection类型 ,指定Sql文本中的变量的值。 AddWithValue("名","值")
CommandType:CommandType枚举类型,指定CommandText中是SQL语句(Text),还是存储过程(StoredProcedure)。
Transaction:SqlTransaction类型,执行命令时需要的事务对象
3.方法
ExecuteNonQuery()
ExecuteReader()
ExecuteScalar()

(三)SqlDataReader读取器类
1.构造
注意:不能直接new出来。只有唯一的一种生成方式
SqlDataReader dr = cmd.ExecuteReader();
2.属性
HasRows:bool,检查是否查出数据来了。
3.方法
Read():bool,读取数据,读取成功为true,否则为false
4.语法
while(dr.Read())
{
    dr[索引号]
    dr["列名"]
}

三、事务
(一)链接内事务
1.造事务对象。
2.挂到Command上
3.提交或回滚事务
(二)分布式事务(跨链接的事务)
1.启动 DTC服务
2.添加System.Transactions引用
3.添加using System.Transactions命名空间
4.使用TransactionScope类操作数据。

1.造DBConnection
    做一个链接字符串的常量
2.造实体类
    把数据库的表封装类,把表的字段都封状成成员变量和属性
3.造数据访问类
    a.声明三个成员:SqlConnection,SqlCommand,SqlDataReader
    b.在构造函数中,把SqlConnection和SqlCommand实例化。
    c.做一系列的增、删、改、查的方法。
4.Main函数
    (1)。
    a.调用数据访问类,获得数据。
    b.在界面上使用for显示出来。
    (2)。
    a.从界面上获得输入的数据,存在变量中。
    b.调用数据访问类,把变量传进相应的增删改的方法中去,实现数据库相应操作。

时间: 2024-10-11 00:31:27

数据访问知识框架的相关文章

企业级应用框架(二)三层架构之数据访问层的封装与抽象

接上一篇我们来对数据访问层进行封装与抽象.在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供相应的支持.所以今天我们要做的事情有两件,第一,定义我们的数据访问层接口:第二,屏蔽各类数据库访问技术的差异,提供统一的数据库访问模型.举个例子,我们只需要修改一下我们的配置文件,就能够把ADO.NET的实现方式,改变成EF的实现方式.好下面搭建我们的三层构

企业级应用框架(三)三层架构之数据访问层的改进以及测试DOM的发布

在上一篇我们在宏观概要上对DAL层进行了封装与抽象.我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了:第二,使我们的DAL层能够支持一切数据访问技术,如Ado.net,EF,linq To Sql,这一点我们实现的不是很完美,仍有很大的改进空间,本文将加以改进. 在此之前我们来看一下我们最新的dom(PS:经过两天的赶工,我们的dom已经相对成熟,其中BLL层已经被我高度抽象化了,并且引进了业务上文文的概念:DAL层除了具体的技术实现尚为完成,其他方面已经相

解析大型.NET ERP系统数据访问 对象关系映射框架LLBL Gen Pro

LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. 1  LLBL Gen Pro 入门  LLBL Gen Pro Basic 打开LLBL Gen Pro程序,在右边的数据库浏览器(Catelog Explorer)中根结点右键选择从关系数据库创建关系模型( Add Relational Model Data from a Database),然

PHP数据访问基础知识(20161028)

数据访问 动态页面的特征:能够读取数据库,网页的内容都是从数据库读出来的,而不是写死的 所有的程序归根结底都是对数据的增删改查 如何用服务器的PHP来操作服务器的MySQL,Apache则是用来管理,接收用户的请求,返回用户的请求.信息 要想实现数据访问,首先要在PHP和MySQL之间建立一个数据的通道,即:建一个连接,造一个连接对象 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm

十步优化SQL Server中的数据访问(转载)

原文地址:http://tech.it168.com/a2009/1125/814/000000814758.shtml 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表

服务器端数据访问

服务器端数据介绍 连接.命令和数据集 访问基于 SQL 的数据 将 SQL 数据绑定到 DataGrid 执行参数化选择 在 SQL 数据库中插入数据 更新 SQL 数据库中的数据 删除 SQL 数据库中的数据 将 SQL 数据库中的数据排序 处理主-从关系 编写和使用存储过程 访问基于 XML 的数据 本节小结 服务器端数据介绍 数据访问是任何实际应用程序的核心部分,而 ASP.NET 提供了一套丰富的控件,这些控件与公共语言运行库中提供的托管数据访问 API 很好地集成在一起. 本节多次演练

Spring数据访问层Dao案例

本文描述的是通过spring框架实现数据持久化操作,具体内容如下: 1,POJO类定义: 1 import java.io.Serializable; 2 import java.util.Date; 3 4 public class User implements Serializable{ 5 private int userId; 6 7 private String userName; 8 9 private String password; 10 11 private int cred

在Spring中基于JDBC进行数据访问时如何控制超时

超时分类 超时根据作用域可做如下层级划分: Transaction Timeout > Statement Timeout > JDBC Driver Socket Timeout Transaction Timeout指一组SQL操作执行时应在设定的时间内完成(提交或回滚),否则将引发超时.它的值应大于 N(语句数) * Statement Timeout Statement Timeout指完成单条SQL语句执行的最大允许时间.它的值应小于JDBC Driver Socket Timeou