利用抽象工厂写的数据库通用类

public abstract class DBFactory
    {
        public abstract IDbConnection GetDBConnection();
        public abstract IDbCommand GetDBCommand();
        public abstract IDbDataAdapter GetDataAdapter(IDbCommand dic);

    } 


class DBOperator
    {
        private DBFactory dbf;
        private IDbConnection dbconn;

        public DBOperator(DBFactory dbf)
        {
            this.dbf = dbf;
        }

        public void Open(string connstring)
        {
            dbconn = dbf.GetDBConnection();
            dbconn.ConnectionString = connstring;
            dbconn.Open();
        }

        public void Close()
        {
            dbconn.Close();
        }

        public DataSet ExecSQL(string sql)
        {
            IDbCommand dbc = dbf.GetDBCommand();
            dbc.Connection = dbconn;
            dbc.CommandText = sql;
            IDbDataAdapter ida = dbf.GetDataAdapter(dbc);
            DataSet ds = new DataSet();
            ida.Fill(ds);
            return ds;

        }

        public void ExeNoneSQL(string sql)
        {
            IDbCommand dbc = dbf.GetDBCommand();
            dbc.Connection = dbconn;
            dbc.CommandText = sql;
            dbc.ExecuteNonQuery();
        }
    }

posted on 2006-11-20 17:39  大胖头  阅读(301)  评论(0编辑  收藏  举报