Winform 用数据库底层类..[修改转帖]

来源:互联网 发布:淘宝浏览有什么好处 编辑:程序博客网 时间:2024/05/21 14:02
using System;
using System.Configuration;
using System.Data;
using System.Data.Odbc;
using System.Data.OleDb;
using System.Collections;
using System.Collections.Generic;
using System.Text;

namespace DataBase
{
  
public class DataBase
    
{
        
/// <summary>
        
/// 数据库操作类
        
/// </summary>

        private string Connstr = null;
        
public DataBase()
        
{
            Connstr 
= @ConfigurationSettings.AppSettings["Connstring"];
        }

        
/// <summary>
        
/// 不使用app.config中的数据库连接符
        
/// </summary>
        
/// <param name="Str">数据库连接符</param>

        public DataBase(string Str)
        
{
            
try
            
{
                
this.Connstr = Str;
            }

            
catch (Exception ex)
            
{
                
throw ex;
            }

        }

        
/// <summary>
        
/// 返回Connection对象
        
/// </summary>
        
/// <returns></returns>

        public OleDbConnection retrunConn()
        
{
            OleDbConnection Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            
return Conn;
        }

        
/// <summary>
        
/// 对数据库进行内存释放
        
/// </summary>
        
/// <param name="Conn"></param>

        public void Disponse(OleDbConnection Conn)
        
{
            
if (Conn != null)
            
{
                Conn.Close();
                Conn.Dispose();
            }

            GC.Collect();
        }

        
/// <summary>
        
/// 生成Command对象A,两个参数
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <param name="Conn"></param>
        
/// <returns></returns>

        public OleDbCommand CreateCmd(string Sql, OleDbConnection Conn)
        
{
            OleDbCommand Cmd;
            Cmd 
= new OleDbCommand(Sql, Conn);

            
return Cmd;
        }

        
/// <summary>
        
/// 生成Command对象B,一个参数
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <returns></returns>

        public OleDbCommand CreateCmd(string Sql)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbCommand Cmd;
            Cmd 
= new OleDbCommand(Sql, Conn);
            
return Cmd;
        }

        
/// <summary>
        
/// 运行SQL语句
        
/// </summary>
        
/// <param name="Sql"></param>

        public void RunProc(string Sql)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbCommand Cmd;
            Cmd 
= CreateCmd(Sql, Conn);
            
try
            
{
                Cmd.ExecuteNonQuery();
            }

            
catch
            
{
                
throw new Exception(Sql);
            }

            Disponse(Conn);
            
return;
        }

        
/// <summary>
        
/// 运行SQL语句,返回DataReader
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <returns></returns>

        public OleDbDataReader RunProcGetReader(string Sql)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbCommand Cmd;
            Cmd 
= CreateCmd(Sql, Conn);
            OleDbDataReader Dr;

            
try
            
{
                Dr 
= Cmd.ExecuteReader(CommandBehavior.Default);
            }

            
catch
            
{
                
throw new Exception(Sql);
            }

            
return Dr;
        }

        
/// <summary>
        
/// 返回Adapter对象
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <returns></returns>

        public OleDbDataAdapter CreateDa(String Sql)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbDataAdapter Da;
            Da 
= new OleDbDataAdapter(Sql, Conn);
            
return Da;
        }

        
/// <summary>
        
/// 运行SQL语句,返回DATASET对象
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <param name="Ds"></param>
        
/// <returns></returns>

        public DataSet RunProc(string Sql, DataSet Ds)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbDataAdapter Da;

            Da 
= new OleDbDataAdapter(Sql, Conn);
            
try
            
{
                Da.Fill(Ds);
            }

            
catch (Exception err)
            
{
                
throw err;
                
//  System.Windows.Forms.MessageBox.Show(err.ToString());
            }

            Disponse(Conn);
            
return Ds;
        }

        
/// <summary>
        
/// 返回指定表名的DataSet 
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <param name="Ds"></param>
        
/// <param name="tableName"></param>
        
/// <returns></returns>

        public DataSet RunProc(string Sql, DataSet Ds, string tableName)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbDataAdapter Da;
            Da 
= CreateDa(Sql);
            
try
            
{
                Da.Fill(Ds, tableName);
            }

            
catch (Exception err)
            
{
                
throw err;
            }

            Disponse(Conn);
            
return Ds;
        }

        
/// <summary>
        
/// 运行SQL语句,返回指定开始记录数及记录页数及特定表的DATASET
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <param name="Ds"></param>
        
/// <param name="StartIndex">开始记录号</param>
        
/// <param name="PageSize">页数(条数)</param>
        
/// <param name="TableName"></param>
        
/// <returns></returns>

        public DataSet RunProc(string Sql, DataSet Ds, int StartIndex, int PageSize, string TableName)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbDataAdapter Da;
            Da 
= CreateDa(Sql);
            
try
            
{
                Da.Fill(Ds, StartIndex, PageSize, TableName);
            }

            
catch (Exception Err)
            
{
                
throw Err;
            }

            Disponse(Conn);
            
return Ds;
        }

        
/// <summary>
        
/// 检验是否存在指定数据
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <returns></returns>

        public bool ExistData(string Sql)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            OleDbDataReader Dr;
            Dr 
= CreateCmd(Sql, Conn).ExecuteReader();
            
if (Dr.Read())
            
{
                Disponse(Conn);
                
return true;
            }

            
else
            
{
                Disponse(Conn);
                
return false;
            }

        }

        
/// <summary>
        
/// 返回第一行,第ColumnI列的值
        
/// </summary>
        
/// <param name="Sql"></param>
        
/// <param name="ColumnI"></param>
        
/// <returns></returns>

        public string ReturnValue(string Sql, int ColumnI)
        
{
            OleDbConnection Conn;
            Conn 
= new OleDbConnection(Connstr);
            Conn.Open();
            
string result;
            OleDbDataReader Dr;
            
try
            
{
                Dr 
= CreateCmd(Sql, Conn).ExecuteReader();
            }

            
catch
            
{
                
throw new Exception(Sql);
            }

            
if (Dr.Read())
            
{
                result 
= Dr[ColumnI].ToString();
            }

            
else
            
{
                result 
= "";
            }

            Dr.Close();
            Disponse(Conn);
            
return result;
        }

    }

}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 连云港住房公积金 临沂住房公积金查询个人账户 南充住房公积金 住房公积金密码 运城住房公积金查询 住房公积金查询电话 住房公积金热线 昆明市住房公积金管理中心 乌鲁木齐住房公积金查询 玉林市住房公积金管理中心 南宁住房公积金网 宜宾市住房公积金管理中心 重庆住房公积金 银川住房公积金查询个人账户 洛阳住房公积金查询 住房公积金卡 东莞住房公积金查询 南京住房公积金管理中心 成都住房公积金 广西住房公积金查询 广西区直住房公积金查询入口 哈尔滨住房公积金管理中心 武汉住房公积金查询个人账户 重庆市住房公积金管理中心 渭南住房公积金查询 咸阳市住房公积金管理中心 宁德住房公积金查询 苏州住房公积金管理中心 太原住房公积金 萍乡市住房公积金个人查询 深圳住房公积金查询余额 长春市住房公积金网 潍坊市住房公积金管理中心 阜阳市住房公积金查询 赣州住房公积金 太原住房公积金查询个人账户 郑州市住房公积金查询 杭州住房公积金管理中心 乐山市住房公积金管理中心 长春住房公积金查询 青海住房公积金查询网