标题:[讨论][求助]怎么使用数据库访问类???
取消只看楼主
luojianhua
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-4-24
 问题点数:0 回复次数:2 
[讨论][求助]怎么使用数据库访问类???

各位大虾:: 我这有个数据库访问的通用类,不过,我不知道做程序时该怎么用,可以指点一下么???? 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; }

} }

搜索更多相关主题的帖子: 数据库 using System DataBase summary 
2005-05-06 17:43
luojianhua
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-4-24
得分:0 
还是斑竹厉害,多谢指点!!1
小生感激不尽!!
2005-05-08 08:57
luojianhua
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-4-24
得分:0 
我尝试了,就是搞不成,求斑竹写个运用的过程吧!!我比较菜
2005-05-09 12:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-17465-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.191710 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved