我只有10分,ADOTable1的定位问题,帮我看看吧,谢谢了
我要查询的是按这个表里面的第一个字段得值来定位
Emp_id Emp_name
1 rghgf
2 wertwer
3 klkkl
4 wwwww
5 eeeee
6 erererr
TLocateOptions opt;
Form1-> ADOTable1-> First();
if((Form1-> ADOTable1-> Locate( "Emp_Id ", Edit1-> Text, opt))&&(Form1-> ADOTable1-> Locate( "Pass ", Edit2-> Text, opt)))
{ ShowMessage( "登陆成功! ");
Memo1-> Lines-> Strings[0]= "Emp_id: "+Form1-> ADOTable1-> Fields-> Fields[0]-> AsString;
}
可以根据Edit1和Edit2的值查找,但是为什么memo1里显示的不是刚查找到的那条记录的Emp_id了???
[解决办法]
我这没有BCB你试试这个吧
TLocateOptions Opts;
Opts.Clear();
Opts < < loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant(Edit1-> Text);
locvalues[1] = Variant(Edit2-> Text);
if(ADOTable1-> Locate( "Emp_Id;Pass ", VarArrayOf(locvalues,(sizeof(locvalues)/sizeof(Variant)-1)), Opts))
{
ShowMessage( "登陆成功! ");
Memo1-> Lines-> Strings[0]= "Emp_id: "+Form1-> ADOTable1-> Fields-> Fields[0]-> AsString;
}