我之前有过的ASP.NET数据层访问方法

简介: 今天在博客园开博,希望能够在这个开放的平台上学到更多,也希望自己能够经常抽出时间增加博客数量,在写博客的同时思考程序代码,思考编程思想,同时沉淀技术.       把我之前做三层Web开发的数据层访问代码拿出来讨论:大家可以在阅读代码后留下自己的看法。

今天在博客园开博,希望能够在这个开放的平台上学到更多,也希望自己能够经常抽出时间增加博客数量,在写博客的同时思考程序代码,思考编程思想,同时沉淀技术.

      把我之前做三层Web开发的数据层访问代码拿出来讨论:大家可以在阅读代码后留下自己的看法。

首先是获得数据库连接对象,我采用的是sqlServer2005 数据库

1 privatestatic SqlConnection connection;
2 publicstatic SqlConnection Connection
3 {
4 get
5 {
6 string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
7 if (connection ==null)
8 {
9 connection =new SqlConnection(connectionString);
10 connection.Open();
11 }
12 elseif (connection.State == System.Data.ConnectionState.Closed)
13 {
14 connection.Open();
15 }
16 elseif (connection.State == System.Data.ConnectionState.Broken)
17 {
18 connection.Close();
19 connection.Open();
20 }
21 return connection;
22 }
23 }

执行返回int的存储过程,我主要用于查询

代码

执行有输出参数的sql语句或存储过程,如果使用存储过程,添加操作的存储过程中使用select @id=@@identity,程序接收这个输出值来判断添加是否成功。

删除和更新操作中通过 select @@rowcount 获得行数如果是一来确定操作成功。

 

代码

 执行sql语句或者存储过程获得dataReader

代码

执行有参存储过程,并返DataSet 

代码

主要用于查询的方法

代码
/// <summary>
/// 执行有参SQL语句或者存储过程,并返回执行行数 存储过程中用select @@表示
/// 0为存储过程 1为sql语句
/// </summary>
/// <param name="sql"></param>
/// <param name="nType"></param>
/// <param name="values"></param>
/// <returns></returns>
public static int GetScalar( string sql, int nType, params SqlParameter[] values)
{
SqlCommand cmd
= new SqlCommand(sql, Connection);
if (nType == 0 )
{
cmd.CommandType
= CommandType.StoredProcedure;
}
if (nType == 1 )
{
cmd.CommandType
= CommandType.Text;

}
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
目录
相关文章
|
4月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
40 2
|
3月前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
278 6
|
4月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
4月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
|
4月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
4月前
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
|
4月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
|
4月前
|
数据库
分享一个 .NET EF 6 扩展 Where 的方法
分享一个 .NET EF 6 扩展 Where 的方法
|
4月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
下一篇
无影云桌面