请问大家在做数据库编程时怎么运用面向对象的知识啊。我的意思是说怎样将*界面逻辑与业务逻辑分开描述*。
例如
有一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;
endfunction GetName:String;  
begin
  FName:=FAdoquery.FieldByName('Name').AsString;
  result:=FName;
end;
...
不知道我这样做对不对,还请高手指教。还有,我不知道,增、删、改操作该怎么样进一步的封装,还有其它的操作大家也一起说了吧,我不嫌多哦,谢谢了。