!!面向对象的数据库设计问题!

                            
请问大家在做数据库编程时怎么运用面向对象的知识啊。我的意思是说怎样将*界面逻辑与业务逻辑分开描述*。   
  例如  
  有一Student表   有三个字段   Name   ,Sex   ,Birthday这里都是字符型的;  
  Unit1(Form1)主窗体中有三个Label和Edit分别来对应各个字段,增、删、改按钮等。  
  Unit2(所谓的业务逻辑)   定义一个TStudent的类,结构大致如下:  
  ...  
  private  
      FAdoquery:TAdoquery;//用来传递Adoquery控件的查询  
      FName:String;//以下分别对应三个字段  
      FSex:String;  
      FBirthday:String;  
      function   GetName:String;      
      function   GetSex:String;  
      function   GetBirthday:String;  
  ...  
  public  
      function   ExeSql(Adoquery:TAdoquery   ;   Sqls:String   ;   Open:Boolean   )   :boolean;  
                                                                                                                //用来执行查询的函数  
      function   GetSqls(Index:Integer):String;//用来返回Sql语句  
  ...  
  published  
      property   Name:String   Read   GetName   Write   FName;  
      property   Sex...  
      property   Birthday...  
  end;  
   
  function   ExeSql(Adoquery:TAdoquery   ;   Sqls:String   ;   Open:Boolean   )   :boolean;  
  begin  
      FAdoquery:=Adoquery;  
      with   Adoquery   do  
      begin  
          close;  
          sql.clear;  
          sql.add(Sqls);  
              //   Open是一个Boolean型的参数,用来判断是查询(Open)还是更新(ExecSql)  
          if   open   then    
              open  
          else  
              ExecSql;  
          end;  
  result:=true;  
  end;  
   
  function   GetSqls(Index:Integer):String;  
  var   s:string;  
  begin  
      case   index   of    
        1:s:='select   *   from   student';  
        2:...  
        3:...  
        end;  
      result:=s;  
  end  
   
  function   GetName:String;      
  begin  
      FName:=FAdoquery.FieldByName('Name').AsString;  
      result:=FName;  
  end;  
  ...  
  不知道我这样做对不对,还请高手指教。还有,我不知道,增、删、改操作该怎么样进一步的封装,还有其它的操作大家也一起说了吧,我不嫌多哦,谢谢了。

查看回复