ASP.NET学习笔记(2007-5-25)
来源:互联网 发布:ftp客户端源码 编辑:程序博客网 时间:2024/04/28 23:20
1、通用数据访问层源代码:BinaryIntellect 的 Database Helper for .NET 2.0 (尚待研究)
下载地址:http://www.binaryintellect.net/products/e0d28f9c-238e-43ae-a00b-59ddc33bfa87.aspx
有人评价是很好的Microsoft's DAAB 2.0(尚待研究)替换品。
《Developing generic data access layer using ADO.NET 2.0》也有相关分析(英文)
这里有人简单地分析了一下该源代码(类)
的内容:http://www.cnblogs.com/chf/articles/614852.html (未看)
注:以上内容是在学习provider模型时发现的(ASP.NET 2.0在全部其架构中都利用提供者模型。):http://www.cnblogs.com/fengmk2/archive/2006/11/25/572176.html (尚待看完)
2、发现一个快速实现数据库操作块的工具:Codehelper v3.0 代码助手,但没下载到,有待研究
3、刚刚学到一个语法:
public class DatabaseHelper:IDisposable
{
public DatabaseHelper(string connectionstring,Providers provider)
{
}
public DatabaseHelper(string connectionstring): this(connectionstring, Providers.SqlServer)
{
// 这里的this用法指代调用类本身的一个构造函数,即前面那个构造函数。
}
}
4、两个方法:
DbCommand.ExecuteScalar 方法 :执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
适用:该方法用于执行只返回单个值的SELECT查询和存储过程,常用于Count(),Min(),Max()等。
DbCommand.ExecuteNonQuery 方法 :对连接对象执行 SQL 语句。返回值为受影响的行数。可以使用 ExecuteNonQuery 执行编录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句更改数据库中的数据。虽然 ExecuteNonQuery 不返回任何行,但是映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为 -1。
5、 ADO.NET 2.0中,更偏向于用继承而不是使用接口:
比如说SqlConnection和OracleConnection类都是继承至基类DbConnection。
ADO.NET 2.0同时提供一系列的“工厂”类帮助动态创建这些基类的实例。比如SqlClientFactory类可以创建SqlConnection, SqlCommand等等的实例,列举该类的一些方法如下:
Factory class method Purpose CreateConnection Creates an instance of SqlConnection class CreateCommand Creates an instance of SqlCommand class CreateParameter Creates an instance of SqlParameter class CreateDataAdapter Creates an instance of SqlDataAdapter class CreateCommandBuilder Creates an instance of SqlCommandBuilder class
参考代码:
public void ExecuteQuery(string sql,string provider)
{
DbConnection cnn=null;
DbCommand cmd=null;
DbProviderFactory factory = null;
switch(provider)
{
case "sqlclient":
factory = SqlClientFactory.Instance;
break;
case "oracleclient":
factory = OracleClientFactory.Instance;
break;
}
cnn = factory.CreateConnection();
cmd = factory.CreateCommand();
//now use cnn and cmd as usual to execute a query
}
6、《小菜编程成长记》可以看看:
http://cj723.cnblogs.com/
7、还有NBearV3 Step by Step教程——ORM篇 也可以看看:
http://www.cnblogs.com/teddyma/archive/2006/11/03/549118.aspx
- ASP.NET学习笔记(2007-5-25)
- ASP.NET学习笔记(2007-5-21)
- ASP.NET学习笔记(2007-5-28)
- ASP.NET学习笔记(2007-5-31)
- ASP.NET学习笔记
- ASP.NET学习笔记
- asp.net 学习笔记
- asp.net学习笔记
- asp.net学习笔记
- asp.net 学习笔记
- asp.net学习笔记
- ASP.Net学习笔记
- asp.net 学习笔记
- asp.net 学习笔记
- ASP.NET 学习笔记
- ASP.NET学习笔记
- Asp.Net学习笔记
- asp.net学习笔记
- 用axis发布webservices(五)
- 提高效率的几种方法
- 孙鑫vc++ 第六课 笔记 菜单的工作原理及编写应用
- 推荐两视频
- 求最大公约数问题
- ASP.NET学习笔记(2007-5-25)
- 单例模式举例 singleton
- JNI实现对CPU使用率的获取!
- 能力成熟度模型(CMM)在恋爱中的应用
- 毕设终于做完了
- 抽象工厂模式举例
- CPropertySheet控件使用举例
- 基于AJAX技术的WebGis系统实践 (2. 三维城市地图系统设计)
- 使用Windows Media Play-ActiveX控件