请问 TDataSet和 TTable有什么区别啊
还有就是
我数据库中有一个表,三个字段,id,name,number
我怎么通过id 到dataset或table中找数据呢?

解决方案 »

  1.   

    TDataset是一个基类,TTable,TQuery等都是继承了这个基类并扩展了属性和方法的。一般情况下,我们不直接使用TDataset的,而是根据具体情况使用TTable, TQuery等这些子类。取已经打开的Dataset的当前记录的字段内容,可以使用:(这里的tbl可以是TTable或TQuery类型)
    1. tbl.FieldValue['<字段名>']
    2. tbl.FieldValue[<字段序号>]  //字段序号是按照字段在select语句中的顺序编号,从0开始
    3. tbl.FieldByName('字段名').AsString  //AsString可以根据你的具体要求换成AsBoolean, AsInteger等其他类型
      

  2.   

    第二个问题补充:
    table控件默认的属性就是字段名,所以最简单可以这样写:
    table['fieldname']:=....;
      

  3.   

    1.TDataSet->TBDEDataSet->TDbDataSet->TTable
    2.table1.FieldByName('Id').asInteger;
      

  4.   

    我的意思 是..如果找到id等于1或,name等于abc的数据
      

  5.   

    你可以使用Locate方法:tbl.Locate("id", 1, [loCaseInsensitive]);或者你可以用TQuery:qry.Close;
    qry.SQL.Clear;
    qry.SQL.Add('select * from <数据表> where id=1');
    qry.Open;
      

  6.   

    修改语句:qry.Edit;
    qry['<字段名>']:=<value>;
    qry.Post;增加记录:qry.Append;  //qry.Insert;
    qry['<字段名>']:=<value>;
    qry.Post;删除记录:qry.Delete;