TinyMind
.net.cn
首页
资讯
文章
注册
登录
为ASP.NET封装的SQL数据库访问类[转]
- -
关注文章
TinyMind专栏频道
using
System;
using
System.Configuration;
using
System.Data;
using
System.Data.SqlClient;
using
System.Collections;
namespace
MyCorporation.DepartMent.DataBase
{
/**/
///
<summary>
///
通用数据库类
///
</summary>
public
class
DataBase
{
private
string
ConnStr
=
null
;
public
DataBase()
{
ConnStr
=
ConfigurationSettings.AppSettings[
"
ConnStr
"
];
}
public
DataBase(
string
Str)
{
try
{
this
.ConnStr
=
Str;
}
catch
(Exception ex)
{
throw
ex;
}
}
/**/
///
<summary>
///
返回connection对象
///
</summary>
///
<returns></returns>
public
SqlConnection ReturnConn()
{
SqlConnection Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
return
Conn;
}
public
void
Dispose(SqlConnection Conn)
{
if
(Conn
!=
null
)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/**/
///
<summary>
///
运行SQL语句
///
</summary>
///
<param name="SQL"></param>
public
void
RunProc(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd
=
CreateCmd(SQL, Conn);
try
{
Cmd.ExecuteNonQuery();
}
catch
{
throw
new
Exception(SQL);
}
Dispose(Conn);
return
;
}
/**/
///
<summary>
///
运行SQL语句返回DataReader
///
</summary>
///
<param name="SQL"></param>
///
<returns>
SqlDataReader对象.
</returns>
public
SqlDataReader RunProcGetReader(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd
=
CreateCmd(SQL, Conn);
SqlDataReader Dr;
try
{
Dr
=
Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw
new
Exception(SQL);
}
//
Dispose(Conn);
return
Dr;
}
/**/
///
<summary>
///
生成Command对象
///
</summary>
///
<param name="SQL"></param>
///
<param name="Conn"></param>
///
<returns></returns>
public
SqlCommand CreateCmd(
string
SQL, SqlConnection Conn)
{
SqlCommand Cmd ;
Cmd
=
new
SqlCommand(SQL, Conn);
return
Cmd;
}
/**/
///
<summary>
///
生成Command对象
///
</summary>
///
<param name="SQL"></param>
///
<returns></returns>
public
SqlCommand CreateCmd(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd
=
new
SqlCommand(SQL, Conn);
return
Cmd;
}
/**/
///
<summary>
///
返回adapter对象
///
</summary>
///
<param name="SQL"></param>
///
<param name="Conn"></param>
///
<returns></returns>
public
SqlDataAdapter CreateDa(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da
=
new
SqlDataAdapter(SQL, Conn);
return
Da;
}
/**/
///
<summary>
///
运行SQL语句,返回DataSet对象
///
</summary>
///
<param name="procName">
SQL语句
</param>
///
<param name="prams">
DataSet对象
</param>
public
DataSet RunProc(
string
SQL ,DataSet Ds)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
//
Da = CreateDa(SQL, Conn);
Da
=
new
SqlDataAdapter(SQL,Conn);
try
{
Da.Fill(Ds);
}
catch
(Exception Err)
{
throw
Err;
}
Dispose(Conn);
return
Ds;
}
/**/
///
<summary>
///
运行SQL语句,返回DataSet对象
///
</summary>
///
<param name="procName">
SQL语句
</param>
///
<param name="prams">
DataSet对象
</param>
///
<param name="dataReader">
表名
</param>
public
DataSet RunProc(
string
SQL ,DataSet Ds,
string
tablename)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da
=
CreateDa(SQL);
try
{
Da.Fill(Ds,tablename);
}
catch
(Exception Ex)
{
throw
Ex;
}
Dispose(Conn);
return
Ds;
}
/**/
///
<summary>
///
运行SQL语句,返回DataSet对象
///
</summary>
///
<param name="procName">
SQL语句
</param>
///
<param name="prams">
DataSet对象
</param>
///
<param name="dataReader">
表名
</param>
public
DataSet RunProc(
string
SQL , DataSet Ds ,
int
StartIndex ,
int
PageSize,
string
tablename )
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da ;
Da
=
CreateDa(SQL);
try
{
Da.Fill(Ds, StartIndex, PageSize, tablename);
}
catch
(Exception Ex)
{
throw
Ex;
}
Dispose(Conn);
return
Ds;
}
/**/
///
<summary>
///
检验是否存在数据
///
</summary>
///
<returns></returns>
public
bool
ExistDate(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlDataReader Dr ;
Dr
=
CreateCmd(SQL,Conn).ExecuteReader();
if
(Dr.Read())
{
Dispose(Conn);
return
true
;
}
else
{
Dispose(Conn);
return
false
;
}
}
/**/
///
<summary>
///
返回SQL语句执行结果的第一行第一列
///
</summary>
///
<returns>
字符串
</returns>
public
string
ReturnValue(
string
SQL)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
string
result;
SqlDataReader Dr ;
try
{
Dr
=
CreateCmd(SQL,Conn).ExecuteReader();
if
(Dr.Read())
{
result
=
Dr[
0
].ToString();
Dr.Close();
}
else
{
result
=
""
;
Dr.Close();
}
}
catch
{
throw
new
Exception(SQL);
}
Dispose(Conn);
return
result;
}
/**/
///
<summary>
///
返回SQL语句第一列,第ColumnI列,
///
</summary>
///
<returns>
字符串
</returns>
public
string
ReturnValue(
string
SQL,
int
ColumnI)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
string
result;
SqlDataReader Dr ;
try
{
Dr
=
CreateCmd(SQL,Conn).ExecuteReader();
}
catch
{
throw
new
Exception(SQL);
}
if
(Dr.Read())
{
result
=
Dr[ColumnI].ToString();
}
else
{
result
=
""
;
}
Dr.Close();
Dispose(Conn);
return
result;
}
/**/
///
<summary>
///
生成一个存储过程使用的sqlcommand.
///
</summary>
///
<param name="procName">
存储过程名.
</param>
///
<param name="prams">
存储过程入参数组.
</param>
///
<returns>
sqlcommand对象.
</returns>
public
SqlCommand CreateCmd(
string
procName, SqlParameter[] prams)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd
=
new
SqlCommand(procName, Conn);
Cmd.CommandType
=
CommandType.StoredProcedure;
if
(prams
!=
null
)
{
foreach
(SqlParameter parameter
in
prams)
{
if
(parameter
!=
null
)
{
Cmd.Parameters.Add(parameter);
}
}
}
return
Cmd;
}
/**/
///
<summary>
///
为存储过程生成一个SqlCommand对象
///
</summary>
///
<param name="procName">
存储过程名
</param>
///
<param name="prams">
存储过程参数
</param>
///
<returns>
SqlCommand对象
</returns>
private
SqlCommand CreateCmd(
string
procName, SqlParameter[] prams,SqlDataReader Dr)
{
SqlConnection Conn;
Conn
=
new
SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd
=
new
SqlCommand(procName, Conn);
Cmd.CommandType
=
CommandType.StoredProcedure;
if
(prams
!=
null
)
{
foreach
(SqlParameter parameter
in
prams)
Cmd.Parameters.Add(parameter);
}
Cmd.Parameters.Add(
new
SqlParameter(
"
ReturnValue
"
, SqlDbType.Int,
4
,
ParameterDirection.ReturnValue,
false
,
0
,
0
,
string
.Empty, DataRowVersion.Default,
null
));
return
Cmd;
}
/**/
///
<summary>
///
运行存储过程,返回.
///
</summary>
///
<param name="procName">
存储过程名
</param>
///
<param name="prams">
存储过程参数
</param>
///
<param name="dataReader">
SqlDataReader对象
</param>
public
void
RunProc(
string
procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlCommand Cmd
=
CreateCmd(procName, prams, Dr);
Dr
=
Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return
;
}
/**/
///
<summary>
///
运行存储过程,返回.
///
</summary>
///
<param name="procName">
存储过程名
</param>
///
<param name="prams">
存储过程参数
</param>
public
string
RunProc(
string
procName, SqlParameter[] prams)
{
SqlDataReader Dr;
SqlCommand Cmd
=
CreateCmd(procName, prams);
Dr
=
Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if
(Dr.Read())
{
return
Dr.GetValue(
0
).ToString();
}
else
{
return
""
;
}
}
/**/
///
<summary>
///
运行存储过程,返回dataset.
///
</summary>
///
<param name="procName">
存储过程名.
</param>
///
<param name="prams">
存储过程入参数组.
</param>
///
<returns>
dataset对象.
</returns>
public
DataSet RunProc(
string
procName,SqlParameter[] prams,DataSet Ds)
{
SqlCommand Cmd
=
CreateCmd(procName,prams);
SqlDataAdapter Da
=
new
SqlDataAdapter(Cmd);
try
{
Da.Fill(Ds);
}
catch
(Exception Ex)
{
throw
Ex;
}
return
Ds;
}
}
}
优质内容筛选与推荐
>>
1、机房管理系统——vb与excel链接2
2、生产者和消费者模型
3、tp框架总结(四)
4、墙体裂缝推荐的情况下驱动的PhoneGap入门,早看早收据
5、Python——正则表达式
赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
阅读
好看
已推荐到看一看
你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
取消
推荐
我知道了
已取消,“好看”想法已同步删除
知道了
已推荐到看一看
和朋友分享想法
最多200字,当前共
字
发送
已发送
朋友将在看一看看到
确定
分享你的想法...
取消
分享想法到看一看
确定
最多200字,当前共
字
发送中
网络异常,请稍后重试
知道了
微信扫一扫
关注该公众号
0
│
收藏
│
举报