zoukankan
html css js c++ java
[ASP.net]数据访层
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;
}
}
}
查看全文
相关阅读:
GMap.NET开发技巧 开发可以根据地图放大缩小而缩放的图元
GPS定位数据库表设计
基于WCF回调(WCF Callback)的GPS报警推送(带源码)
基于部标JT/T 808协议及数据格式的GPS服务器 开发
如何做好GPS平台软硬件集成测试
框架内思维 创新更有力
JT/T 808 809 部标认证流程和申报材料下载
基于部标JT/T8092011的(已过检)GPS平台数据交换及转发服务器
基于Spring.NET的MVC应用程序发布时的虚拟路径错误的解决方案
javascript组件开发方式(转载)
原文地址:https://www.cnblogs.com/HD/p/127905.html
最新文章
守护线程
Java线程停止
Delphi中fastreport怎么动态加载图片位置
观测线程状态
冒泡排序
部标JT/T809平台的必测内容
我对CTO的理解
Socket报文和端口测试工具的开发(提供源码)
基于GMap.NET桌面客户端的漂亮地图应用
位卑未敢忘忧国程序员如何突破自己
热门文章
GPS地图坐标偏移及地图纠偏解决方法和代码
GIS、GPS监控界面设计
百度地图坐标纠偏和转换工具和DLL
基于Java Mina 和Netty 通信框架的JT/T809转发服务器设计
如何写出一份好简历
GPS部标平台的架构设计(一)
如何摆脱低智商的社会,让自己脱颖而出?
上帝一看到IT人要创业就笑了
兼职
GMap.NET二次开发库
Copyright © 2011-2022 走看看