sqllink.cs c#数据库操作类
来源:互联网 发布:js实现div旋转 编辑:程序博客网 时间:2024/05/17 08:28
sqllink.cs c#数据库操作类
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace Chenzhang
{
/// <summary>
/// SQL Server数据库操作组件
/// </summary>
public class SqlLink :IDisposable
{
private SqlDataAdapter dsCommand;
private AppSettingsReader appsettingsreader;
private String cn;
/// <summary>
/// Constructor
/// </summary>
public SqlLink()
{
dsCommand =new SqlDataAdapter() ;
appsettingsreader = new AppSettingsReader();
cn=(string)appsettingsreader.GetValue("SQLConnectionString", typeof(string));
}
/// <summary>
/// Dispose
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!disposing)
return;
if (dsCommand != null)
{
//dispose dsCommand.SelectCommand
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
//dispose dsCommand.InsertCommand
if (dsCommand.InsertCommand!=null)
{
if (dsCommand.InsertCommand.Connection!=null)
dsCommand.InsertCommand.Connection.Dispose();
dsCommand.InsertCommand.Dispose();
}
//dispose dsCommand.UpdateCommand
if (dsCommand.UpdateCommand!=null)
{
if (dsCommand.UpdateCommand.Connection!=null)
dsCommand.UpdateCommand.Connection.Dispose();
dsCommand.UpdateCommand.Dispose();
}
dsCommand.Dispose();
dsCommand=null;
}
}
/// <summary>
/// 获取select语句查询结果记录集
/// </summary>
/// <param name="sql">select语句</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql(String sql)
{
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sql;
dsCommand.SelectCommand.CommandType=CommandType.Text;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
}
/// <summary>
/// 获取存储过程运行结果记录集,存储过程不带参数
/// </summary>
/// <param name="sp_name">存储过程名称</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql_sp(String sp_name)
{
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sp_name;
dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
}
/// <summary>
/// 获取存储过程运行结果记录集,存储过程带1个参数
/// </summary>
/// <param name="sp_name">存储过程名称</param>
/// <param name="par1_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par1_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par1_value">存储过程参数值,如"18","张三"</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql_sp_par1(String sp_name,String par1_name,String par1_type,String par1_value)
{
int par1_dbtype=0;
if (par1_type.ToLower()=="varchar") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="string") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="integer") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par1_type.ToLower()=="int") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sp_name;
dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;
SqlParameter objPar;
objPar=dsCommand.SelectCommand.Parameters.Add(par1_name,par1_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par1_value;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
}
/// <summary>
/// 获取存储过程运行结果记录集,存储过程带2个参数
/// </summary>
/// <param name="sp_name">存储过程名称</param>
/// <param name="par1_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par1_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par1_value">存储过程参数值,如"18","张三"</param>
/// <param name="par2_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par2_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par2_value">存储过程参数值,如"18","张三"</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql_sp_par2(String sp_name,String par1_name,String par1_type,String par1_value,String par2_name,String par2_type,String par2_value)
{
int par1_dbtype=0;
int par2_dbtype=0;
if (par1_type.ToLower()=="varchar") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="string") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="integer") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par1_type.ToLower()=="int") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par2_type.ToLower()=="varchar") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="string") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="integer") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par2_type.ToLower()=="int") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sp_name;
dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;
SqlParameter objPar;
objPar=dsCommand.SelectCommand.Parameters.Add(par1_name,par1_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par1_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par2_name,par2_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par2_value;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
}
/// <summary>
/// 获取存储过程运行结果记录集,存储过程带3个参数
/// </summary>
/// <param name="sp_name">存储过程名称</param>
/// <param name="par1_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par1_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par1_value">存储过程参数值,如"18","张三"</param>
/// <param name="par2_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par2_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par2_value">存储过程参数值,如"18","张三"</param>
/// <param name="par3_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par3_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par3_value">存储过程参数值,如"18","张三"</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql_sp_par3(String sp_name,String par1_name,String par1_type,String par1_value,String par2_name,String par2_type,String par2_value,String par3_name,String par3_type,String par3_value)
{
int par1_dbtype=0;
int par2_dbtype=0;
int par3_dbtype=0;
if (par1_type.ToLower()=="varchar") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="string") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="integer") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par1_type.ToLower()=="int") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par2_type.ToLower()=="varchar") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="string") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="integer") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par2_type.ToLower()=="int") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par3_type.ToLower()=="varchar") par3_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par3_type.ToLower()=="string") par3_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par3_type.ToLower()=="integer") par3_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par3_type.ToLower()=="int") par3_dbtype=Convert.ToInt16(SqlDbType.Int);
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sp_name;
dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;
SqlParameter objPar;
objPar=dsCommand.SelectCommand.Parameters.Add(par1_name,par1_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par1_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par2_name,par2_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par2_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par3_name,par3_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par3_value;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
}
/// <summary>
/// 获取存储过程运行结果记录集,存储过程带4个参数
/// </summary>
/// <param name="sp_name">存储过程名称</param>
/// <param name="par1_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par1_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par1_value">存储过程参数值,如"18","张三"</param>
/// <param name="par2_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par2_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par2_value">存储过程参数值,如"18","张三"</param>
/// <param name="par3_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par3_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par3_value">存储过程参数值,如"18","张三"</param>
/// <param name="par4_name">存储过程参数名称,如"@Age","@StudentName"</param>
/// <param name="par4_type">存储过程参数类型,如"int","varchar"</param>
/// <param name="par4_value">存储过程参数值,如"18","张三"</param>
/// <returns>结果记录集</returns>
public DataTable SelectSql_sp_par4(String sp_name,String par1_name,String par1_type,String par1_value,String par2_name,String par2_type,String par2_value,String par3_name,String par3_type,String par3_value,String par4_name,String par4_type,String par4_value)
{
int par1_dbtype=0;
int par2_dbtype=0;
int par3_dbtype=0;
int par4_dbtype=0;
if (par1_type.ToLower()=="varchar") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="string") par1_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par1_type.ToLower()=="integer") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par1_type.ToLower()=="int") par1_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par2_type.ToLower()=="varchar") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="string") par2_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par2_type.ToLower()=="integer") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par2_type.ToLower()=="int") par2_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par3_type.ToLower()=="varchar") par3_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par3_type.ToLower()=="string") par3_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par3_type.ToLower()=="integer") par3_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par3_type.ToLower()=="int") par3_dbtype=Convert.ToInt16(SqlDbType.Int);
if (par4_type.ToLower()=="varchar") par4_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par4_type.ToLower()=="string") par4_dbtype=Convert.ToInt16(SqlDbType.VarChar);
else if (par4_type.ToLower()=="integer") par4_dbtype=Convert.ToInt16(SqlDbType.Int);
else if (par4_type.ToLower()=="int") par4_dbtype=Convert.ToInt16(SqlDbType.Int);
dsCommand.SelectCommand=new SqlCommand();
dsCommand.SelectCommand.Connection=new SqlConnection(cn);
DataSet ds=new DataSet() ;
dsCommand.SelectCommand.CommandText=sp_name;
dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;
SqlParameter objPar;
objPar=dsCommand.SelectCommand.Parameters.Add(par1_name,par1_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par1_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par2_name,par2_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par2_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par3_name,par3_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par3_value;
objPar=dsCommand.SelectCommand.Parameters.Add(par4_name,par4_dbtype);
objPar.Direction=ParameterDirection.Input;
objPar.Value=par4_value;
dsCommand.SelectCommand.Connection.Open();
try
{
dsCommand.Fill(ds,"result");
return ds.Tables["result"];
}
catch
{
return null;
}
finally
{
if (dsCommand.SelectCommand!=null)
{
if (dsCommand.SelectCommand.Connection!=null)
dsCommand.SelectCommand.Connection.Dispose();
dsCommand.SelectCommand.Dispose();
}
dsCommand.Dispose();
ds.Dispose();
}
} /// <summary>
/// 运行insert语句,并返回成功与否
/// </summary>
/// <param name="sql">insert语句</param>
/// <returns>成功与否</returns>
public bool InsertSql(String sql)
{
dsCommand.InsertCommand=new SqlCommand();
dsCommand.InsertCommand.Connection=new SqlConnection(cn);
dsCommand.InsertCommand.CommandText=sql;
dsCommand.InsertCommand.CommandType=CommandType.Text;
dsCommand.InsertCommand.Connection.Open();
try
{
dsCommand.InsertCommand.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
if(dsCommand.InsertCommand!=null)
{
if (dsCommand.InsertCommand.Connection!=null)
dsCommand.InsertCommand.Connection.Dispose();
dsCommand.InsertCommand.Dispose();
}
dsCommand.Dispose();
}
}
/// <summary>
/// 运行update语句,并返回成功与否
/// </summary>
/// <param name="sql">update语句</param>
/// <returns>成功与否</returns>
public bool UpdateSql(String sql)
{
dsCommand.UpdateCommand=new SqlCommand();
dsCommand.UpdateCommand.Connection=new SqlConnection(cn);
dsCommand.UpdateCommand.CommandText=sql;
dsCommand.UpdateCommand.CommandType=CommandType.Text;
dsCommand.UpdateCommand.Connection.Open();
try
{
dsCommand.UpdateCommand.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
if (dsCommand.UpdateCommand!=null)
{
if (dsCommand.UpdateCommand.Connection!=null)
dsCommand.UpdateCommand.Connection.Dispose();
dsCommand.UpdateCommand.Dispose();
}
dsCommand.Dispose();
}
}
/// <summary>
/// 运行delete语句,并返回成功与否
/// </summary>
/// <param name="sql">delete语句</param>
/// <returns>成功与否</returns>
public bool DeleteSql(String sql)
{
dsCommand.DeleteCommand=new SqlCommand();
dsCommand.DeleteCommand.Connection=new SqlConnection(cn);
dsCommand.DeleteCommand.CommandText=sql;
dsCommand.DeleteCommand.CommandType=CommandType.Text;
dsCommand.DeleteCommand.Connection.Open();
try
{
dsCommand.DeleteCommand.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
if (dsCommand.DeleteCommand!=null)
{
if (dsCommand.DeleteCommand.Connection!=null)
dsCommand.DeleteCommand.Connection.Dispose();
dsCommand.DeleteCommand.Dispose();
}
dsCommand.Dispose();
}
}
}
}
- sqllink.cs c#数据库操作类
- C#数据库编程 之 DbHelper数据操作类【DBHelper.CS】
- C#数据库编程 之 DbHelper数据操作类【DBHelper.CS】
- C# 对数据库操作的帮助类SQLHelper.cs
- 操作数据库类SQLHelp.cs
- 操作数据库类SQLHelp.cs
- [CS]C#操作word
- c# 数据库,连接类库 ---DbHelp.cs
- 操作数据库的类DbHelper.cs
- 数据库操作经典类[DataAccess.cs]
- asp.net数据库操作类--DbHelper.cs
- App_Code/DataBase.cs(数据库操作类)
- SqlServerHelper.cs数据库操作
- c# cs方式操作数据库 非使用sql连接字符串直接连接数据库
- C#中操作Excel的类ExcelHelper.cs
- DateHelper.cs日期时间操作辅助类C#
- C# 常用数据操作辅助类 SqlDbHelper.cs
- 用于Access数据库的DB操作类AccessHelper.cs
- 处理器不同模式下寄存器
- 网络通信协议层的七个部分
- HTML5的明天,局部有小雨
- 瑞星个人防火墙2012
- 16周:玩字符串
- sqllink.cs c#数据库操作类
- spring getbean 用单例模式
- 韩顺平_PHP程序员玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
- 字符串
- 强制删除 OpenStack Nova (Essex) 实例
- 小米的成功你学不会
- 面向对象
- Windows server 2008设置远程桌面连接的详细步骤(图文教程)
- Excel批量转为Html,Html转换成Excel