adoquery出错问题(100分)

  • 主题发起人 主题发起人 dxm
  • 开始时间 开始时间
D

dxm

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一张表如下字段
用户名 密码 状态
我想根据用户名,密码取出状态,程序如下:
var tmp:string;
adoqu.Close;
adoqu.SQL.Clear;
adoqu.SQL.Add('select 用户名,密码,状态 from 维护表 where 用户名=:用户名 and 密码=:密码');
adoqu.Parameters.ParamByName('用户名').value:=usern;
adoqu.Parameters.ParamByName('密码').value:=passw;
try
adoqu.ExecSQL;
// iss:=adoqu.CurrentRecord;
// adoqu.First; //定位符合条件的第一条记录
tmp:=adoqu['状态'];
或者tmp:=adoqu.fieldbyname('状态').value
或者tmp:=adoqu.fieldvalues('状态')
都不对,说是adoquery 的字段 '状态' 找不到,请教什么原因?
 
tmp:=adoqu.FieldByName('状态').AsString;
 
adoqu.ExecSQL;
用Open
 
啊,是的,是那个ExecSQL错了,需要返回数据集,就必须使用Open。
不需要返回数据集的,必须使用ExecSQL
 
ExecSql是执行对数据库的操作命令,如插入,删除等,不返回数据集
Open用来执行Select类的查询语句,返回数据集
 
同意楼上的意见
 
萧兄没错!
 
错了保换!
 
是该用open
 
其实自己解决,却是open的问题,给分了。
 
后退
顶部