注册
 找回密码
 注册
江西广告网
查看: 285|回复: 0
打印 上一主题 下一主题

C#对底层数据操作的通用类逐个剖析

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-24 11:59:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  using System;   using System.Data;   using System.Data.SqlClient;   using System.Windows.Forms;      namespace DataLibrary   {    ///    /// 数据连接设置    ///    public class SqlConnect    {    static string sqlconnstr;       ///    /// 连接字符串    ///    public string ConnString    {     set     {     sqlconnstr=value;     }     get     {     return sqlconnstr;     }    }       ///    /// 取得连接    ///    ///    public SqlConnection GetSqlConnection()    {     SqlConnection _connection=null;     if(sqlconnstr==null || sqlconnstr=="")     {     string SystemDir=System.Environment.SystemDirectory;     DisposalConductService DisposalConductService1= new DisposalConductService(SystemDir "\\CBERP_Dis.DLL") ;     sqlconnstr = "server=" DisposalConductService1.GetValue("ServerName","(local)")      ";user id=" DisposalConductService1.GetValue("SqlAccount","sa")      ";password=" DisposalConductService1.GetValue("PassWord","jiayu520")      ";Database=" DisposalConductService1.GetValue("Database","CBERP");     }     try     {     _connection = new SqlConnection(sqlconnstr);     _connection.Open();     }     catch(SqlException SE)     {     if(SE.Number==17 || SE.Number==18456)     {      if( MessageBox.Show("数据库访问参数设置不正确,是否对需要对其进行设置?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)      {      sqlconnstr="";      DisposalConduct config = new DisposalConduct();      config.ShowDialog();      _connection=GetSqlConnection();      }      else      {      MessageBox.Show("建立数据库连接失败,程序不能继续运行!","错误",MessageBoxButtons.OK,MessageBoxIcon.Stop);      Application.ExitThread();      Application.Exit();      }     }     else     {      MessageBox.Show(SE.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);      _connection.Close();     }     }     return _connection;    }    }       ///    /// 数据配置    ///    public class DataCatena : IDisposable    {    private SqlConnection _connection;    ///    /// 数据配置    ///    public DataCatena()    {     SqlConnect sqlconnect = new SqlConnect();     _connection = sqlconnect.GetSqlConnection();     _connection.Close();    }       ///    /// 数据配置    ///    /// 连接字符串    public DataCatena(String connStr)    {     _connection = new SqlConnection(connStr);    }       ///    /// 取得DataView    ///    /// 连接字符串    /// 数据视图    public DataView GetDataView(String Sqlstr)    {     DataView dv=null;     SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);     DataSet ds = new DataSet();     try     {     myCommand.Fill(ds,"table");     dv=ds.Tables["table"].DefaultView;     }     catch(SqlException exc)     {     DebugBox db = new DebugBox(Sqlstr "\r\n" exc.Message);     db.Show();     }     return dv;    }       ///    /// 清理资源    ///    public void Dispose()    {     Dispose(true);     GC.SuppressFinalize(true);    }       ///    /// 清理所有正在使用的资源。    ///    ///    protected virtual void Dispose(bool disposing)    {     if (! disposing)     return;        if (this._connection != null)     {     this._connection.Dispose();     }    }       ///    /// 取得数据适配器    ///    /// SQL语句    /// 数据适配器    public SqlDataAdapter GetSqlDA(string Sqlstr)    {     SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);     return myCommand;    }       ///    /// 取得数据表    ///    /// SQL语句    /// 数据表    public DataTable GetDT(String Sqlstr)    {     SqlDataAdapter myCommand = new SqlDataAdapter(Sqlstr, _connection);     DataSet ds = new DataSet();     try     {     myCommand.Fill(ds,"table");     }     catch(SqlException exc)     {     DebugBox db = new DebugBox(Sqlstr "\r\n" exc.ToString());     db.Show();     }     return ds.Tables["table"];    }       ///    /// 执行语句    ///    /// SQL语句    ///    public object ExecWithValue(String Sqlstr)    {     object result=null;     _connection.Open();     SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);     try     {     result=myCommand.ExecuteScalar();     }     catch (SqlException exc)     {     DebugBox db = new DebugBox(Sqlstr "\r\n" exc.ToString());     db.Show();     //MessageBox.Show(exc.Message);     }     _connection.Close();     return result;    }       ///    /// 返回相应的行数    ///    /// SQL语句    /// 行数    public int Exec(String Sqlstr)    {     int sucess=0;        SqlCommand myCommand = new SqlCommand(Sqlstr, _connection);     _connection.Open();     try     {     myCommand.ExecuteNonQuery();     }     catch (SqlException exc)     {     DebugBox db = new DebugBox(Sqlstr "\r\n" exc.ToString());     db.Show();     //  MessageBox.Show(exc.Message);     sucess=exc.Number;     }     _connection.Close();     return sucess;    }    }       ///    /// 单表操作    ///    public class SingleTable    {    private DataCatena DataCatena;    private SqlDataAdapter myDataAdapter;    private DataSet ds;    ///    /// 单表操作    ///    ///    public SingleTable(string Sqlstr)    {     DataCatena = new DataCatena();     myDataAdapter = DataCatena.GetSqlDA(Sqlstr);     ds = new DataSet();     myDataAdapter.Fill(ds, "Table1");    }       ///    /// 更新一个表    ///    ///    public void SetUpdateCommand(string Sqlstr)    {     myDataAdapter.UpdateCommand = new SqlCommand(Sqlstr,myDataAdapter.SelectCommand.Connection);    }       ///    /// 返回数据表    ///    ///    public DataTable GetDataTable()    {     return ds.Tables["Table1"];    }       ///    /// 返回数据适配器    ///    ///
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表