@lz:
你的需求是使用不同的按钮创建不同的连接对象以创建不同的数据提供程序.using System;
using System.Data.SqlClient;
using System.Data.OleDb;
public abstract class ConnectionServer
{
   protected DbConnection conn;
   public abstract DbConnection GetConnection();
}public class SqlConnectionServer : ConnectionServer
{
   public override DbConnection GetConnection()
    {
       if(conn == null)
        {
          conn = new SqlConnection("...");
          return conn;
        }
       else
         return conn;         
    }
}public class OleDbConnectionServer : ConnectionServer
{
   public override DbConnection GetConnection()
    {
      if(conn == null)
       {
         conn = new OleDbConnection("...");
         return conn;
       }
      else
       return conn;
    }
}