用什么数据控件
如果是query的话用filter就成,至于所指内容如下
query.fieldbyname('f1').asstring;
query.fieldbyname('...').asstring;
query.fieldbyname('fn').asstring;
不足不道,不知对否
table1.locate('fieldname','text',[]);//查找
table1.fields[i].asstring;
dbgrid1.fields[i].asstring;//不知想实现什么
1. 首先,不是在DBGid中查找记录,而是在dbgrid->datasource->dataset中查找记录;找到后,dbgrid的指针直接指向那条记录。
2. 如果你的DataSet是Table
Table1.IndexFieldNames:='Field1;Field2;...' //查找时的依据字段名
Table1.FindKey([value1,value2,...]);
//找到后,dbgrid指向该记录,如果有多条符合,指向第一条
3. 如果你的DataSet是Query
Query1.locate('Field1;Field2;...',VarArrayOf([value1,value2,...]),[loPartialKey]);
最后一个参数可选[loPartialKey](字符串可部分匹配),[loCaseInsensitive],[]
Table, ADOTable...也可以Locate,基本一样
Table1.FieldByName('Field1').asFloat/asString/asInteger/asDateTime
Table1.Fields.Fields[0].asFloat/asString/asInteger/asDateTime
Query1.FieldByName('Field1').asFloat/asString/asInteger/asDateTime
Query1.Fields.Fields[0].asFloat/asString/asInteger/asDateTime
以上四种方法都可以得到某字段的值