zoukankan
html css js c++ java
[ASP.net]数据访层 (转)
原文:
http://www.cnblogs.com/hd/archive/2005/03/30/127905.html
DbConnection.cs
using
System;
using
System.Data.SqlClient;
namespace
DbControl
{
/**/
///
<summary>
///
数据库链接
///
</summary>
public
class
DbConnection
{
//
SQL数据库链接字符串
private
string
_strSqlConnection
=
System.Configuration.ConfigurationSettings.AppSettings[
"
SqlConnectionString
"
];
//
XML文件链接字符串
private
string
_strXmlConnection
=
string
.Empty;
public
string
ConnectionString
{
get
{
return
_strSqlConnection;
}
set
{
this
._strSqlConnection
=
System.Configuration.ConfigurationSettings.AppSettings[ value ];
}
}
public
SqlConnection SqlConnectionString
{
get
{
return
new
SqlConnection( ConnectionString );
}
}
public
string
XmlConnectionString
{
get
{
return
this
._strXmlConnection;
}
set
{
this
._strXmlConnection
=
value;
}
}
public
DbConnection()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
}
}
AppControl.cs
using
System;
using
System.Data;
using
System.Data.SqlClient;
namespace
DbControl
{
/**/
///
<summary>
///
AppControl 的摘要说明。
///
</summary>
public
class
SqlControl : DbConnection
{
private
SqlConnection _Conn;
private
SqlCommand _Cmd;
public
SqlControl()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
/**/
///
<summary>
///
打开数据库链接
///
</summary>
private
void
Open()
{
this
._Conn
=
this
.SqlConnectionString;
try
{
_Conn.Open();
}
catch
( System.Exception ex )
{
throw
ex;
}
}
/**/
///
<summary>
///
关闭数据库链接
///
</summary>
private
void
Close()
{
try
{
this
._Conn.Close();
}
catch
( System.Exception ex )
{
throw
ex;
}
}
/**/
///
<summary>
///
运行SQL,返回DataTable数据
///
</summary>
///
<param name="query">
SQL语句
</param>
///
<returns>
返回DataTable
</returns>
public
DataTable RunSqlToDataTable(
string
query )
{
this
.Open();
DataTable objDataTable
=
new
DataTable();
SqlDataAdapter objAdapter
=
new
SqlDataAdapter( query , _Conn );
try
{
objAdapter.Fill( objDataTable );
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataTable;
}
/**/
///
<summary>
///
执行SQL语句,返回单个值
///
</summary>
///
<param name="query">
标准T-SQL语句
</param>
///
<returns>
返回string
</returns>
public
string
RunSqlToResult(
string
query )
{
this
.Open();
this
._Cmd
=
new
SqlCommand( query,
this
._Conn );
System.Text.StringBuilder strResult
=
new
System.Text.StringBuilder();
try
{
strResult.Append(
this
._Cmd.ExecuteScalar() );
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
strResult.ToString();
}
/**/
///
<summary>
///
运行单个SQL的相关操作
///
</summary>
///
<param name="query">
SQL语句
</param>
///
<returns>
返回AppControl
</returns>
public
SqlControl ExecuteNonQuery(
string
query )
{
this
.Open();
_Cmd
=
new
SqlCommand( query , _Conn );
try
{
_Cmd.ExecuteNonQuery();
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
this
;
}
/**/
///
<summary>
///
按事务执行SQL语句数组
///
</summary>
///
<param name="query">
标准T-SQL语句数组
</param>
///
<returns>
返回AppControl
</returns>
public
SqlControl ExecuteNonQuery(
string
[] query )
{
this
.Open();
this
._Cmd
=
new
SqlCommand();
SqlTransaction objTran
=
this
._Conn.BeginTransaction();
this
._Cmd.Connection
=
this
._Conn;
this
._Cmd.Transaction
=
objTran;
try
{
for
(
int
i
=
0
; i
<
query.Length ; i
++
)
{
this
._Cmd.CommandText
=
query[i];
this
._Cmd.ExecuteNonQuery();
}
objTran.Commit();
}
catch
( System.Exception ex )
{
objTran.Rollback();
throw
ex;
}
finally
{
this
.Close();
}
return
this
;
}
/**/
///
<summary>
///
执行SQL语句,返回SqlDataReader.
///
</summary>
///
<param name="query">
标准SQL语句
</param>
///
<returns>
返回DataReader
</returns>
public
SqlDataReader RunSqlToDataReader(
string
query )
{
this
.Open();
this
._Cmd
=
new
SqlCommand( query ,
this
._Conn );
SqlDataReader objDataReader;
try
{
objDataReader
=
this
._Cmd.ExecuteReader();
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataReader;
}
/**/
///
<summary>
///
运行存储过程(有参数,无输出)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<param name="parameters">
存储过程参数数组
</param>
///
<returns>
返回AppControl
</returns>
public
SqlControl RunProcedure(
string
procedureName,SqlParameter[] parameters )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,parameters );
try
{
this
._Cmd.ExecuteNonQuery();
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
this
;
}
/**/
///
<summary>
///
运行存储过程(无参数,无输出)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<returns>
返回AppControl
</returns>
public
SqlControl RunProcedure(
string
procedureName )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,
null
);
try
{
this
._Cmd.ExecuteNonQuery();
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
this
;
}
/**/
///
<summary>
///
运行存储过程(无参数,有输出)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<param name="parametersOutput">
存储过程输出参数数组
</param>
///
<returns>
返回AppControl
</returns>
public
SqlControl RunProcedure(
string
procedureName,
ref
SqlParameter[] parametersOutput )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,parametersOutput );
try
{
this
._Cmd.ExecuteNonQuery();
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
this
;
}
/**/
///
<summary>
///
运行存储过程(有参数,无输出)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<param name="parameters">
存储过程参数数组
</param>
///
<returns>
返回DataTable
</returns>
public
DataTable RunProcedureToDataTable(
string
procedureName,SqlParameter[] parameters )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,parameters );
DataTable objDataTable
=
new
DataTable();
try
{
this
._Cmd.ExecuteNonQuery();
SqlDataAdapter objAdapter
=
new
SqlDataAdapter(
this
._Cmd );
objAdapter.Fill( objDataTable );
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataTable;
}
/**/
///
<summary>
///
运行存储过程(有参数,有输出)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<param name="parametersInput">
存储过程输入参数数组
</param>
///
<param name="parametersOutput">
存储过程输出参数数组
</param>
///
<returns>
返回DataTable
</returns>
public
DataTable RunProcedureToDataTable(
string
procedureName,SqlParameter[] parametersInput,
ref
SqlParameter[] parametersOutput )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,parametersInput );
if
( parametersOutput
!=
null
)
{
foreach
( SqlParameter parameter
in
parametersOutput )
{
this
._Cmd.Parameters.Add( parameter );
}
}
DataTable objDataTable
=
new
DataTable();
try
{
this
._Cmd.ExecuteNonQuery();
SqlDataAdapter objAdapter
=
new
SqlDataAdapter(
this
._Cmd );
objAdapter.Fill( objDataTable );
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataTable;
}
/**/
///
<summary>
///
运行存储过程(无参数)
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<returns>
返回DataTable
</returns>
public
DataTable RunProcedureToDataTable(
string
procedureName )
{
this
.Open();
this
._Cmd
=
this
.MakeProcedure( procedureName,
null
);
DataTable objDataTable
=
new
DataTable();
try
{
this
._Cmd.ExecuteNonQuery();
SqlDataAdapter objAdapter
=
new
SqlDataAdapter(
this
._Cmd );
objAdapter.Fill( objDataTable );
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataTable;
}
/**/
///
<summary>
///
建立存储过程
///
</summary>
///
<param name="procedureName">
存储过程名
</param>
///
<param name="parameters">
存储过程参数数组
</param>
///
<returns>
返回AppControl
</returns>
private
SqlCommand MakeProcedure(
string
procedureName,SqlParameter[] parameters )
{
SqlCommand objCmd
=
new
SqlCommand( procedureName,
this
._Conn );
objCmd.CommandType
=
CommandType.StoredProcedure;
if
( parameters
!=
null
)
{
foreach
( SqlParameter sqlParamet
in
parameters )
{
objCmd.Parameters.Add( sqlParamet );
}
}
return
objCmd;
}
/**/
///
<summary>
///
多表查询
///
</summary>
///
<param name="query">
标准SQL语句集
</param>
///
<returns>
返回DataSet
</returns>
public
DataSet RunSqlToDataSet(
string
[] query )
{
this
.Open();
DataSet objDataSet
=
new
DataSet();
SqlDataAdapter objAdapter
=
new
SqlDataAdapter();
this
._Cmd
=
new
SqlCommand();
this
._Cmd.Connection
=
this
._Conn;
objAdapter.SelectCommand
=
this
._Cmd;
try
{
for
(
int
i
=
0
; i
<
query.Length ; i
++
)
{
objAdapter.SelectCommand.CommandText
=
query[i];
objAdapter.Fill( objDataSet.Tables.Add() );
}
}
catch
( System.Exception ex )
{
throw
ex;
}
finally
{
this
.Close();
}
return
objDataSet;
}
}
}
查看全文
相关阅读:
ps 允许执行不信任的脚本
mysql 某表某列支持 emoji
jenkins
成为真正的win10 超级管理员,解决win+r 不以管理员身份运行
bat curl 定时请求
jq 日期区间处理
jq 日期区间处理
ubuntu cli
nginx启动两个flask项目
nginx 配置http和https验证
原文地址:https://www.cnblogs.com/dagon007/p/159271.html
最新文章
SQL Server中有关约束(constraint)的一些细节
MySQL InnoDB内存压力判断以及存在的疑问
SQL Server 中的6种事务隔离级别简单总结
MySQL InnoDB引擎B+树索引简单整理说明
SQLServer中的执行计划缓存由于长时间缓存对性能造成的干扰
MySQL二进制日志(binary log)总结
MySQL master-slave主从复制环境搭建初试
SQL Server中多表连接时驱动顺序对性能的影响
MySQL 物理文件体系结构的简单整理说明
MySQL中IN子查询会导致无法使用索引
热门文章
译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多
MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?
SQL Server 磁盘请求超时的833错误原因分析以及解决
MySQL的show profile(已过时)简介以及该功能在MySQL 5.7中performance_schema中的替代
Linux下MySQL5.7.18 yum方式从卸载到安装
SQL Server 利用Profiler观察执行计划是否重用时SP:Cachemiss,SP:CacheInsert以及SP:CacheHit的含义
T-SQL行合并成列与列拆分成行
SQLServer中利用NTILE函数对数据进行分组的一点使用
Js ascii 16进制 url-encode
Please enable using preview .net core sdks
Copyright © 2011-2022 走看看