procedure Tcheckuser.BitBtn1Click(Sender: TObject); begin
adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:='select * from check1 where 用户名='''+combobox1.text+''' And 密码='''+password.Text+''''; adoquery1.Open ; if adoquery1.RecordCount=0 then begin messagedlg('请输入正确的密码',mterror,[mbok],0); password.text:=''; exit; end; //根据不同的操作员级别,允许进行不同的功能操作
if adoquery1.FieldByName('权限').AsInteger =1 then begin //超级用户拥有全部权限 main.Formt.n21.enabled:=true; main.Formt.n1.enabled:=true; main.Formt.n4.enabled:=true; main.Formt.n8.enabled:=true; main.Formt.n12.enabled:=true; main.Formt.n17.enabled:=true; end; if adoquery1.FieldByName('权限').AsInteger =2 then begin //操作员用户拥有除"权限设置"外的全部权限 main.formt.N23.Enabled:=false; main.formt.n1.enabled:=true; main.formt.n4.enabled:=true; main.formt.n8.enabled:=true; main.formt.n12.enabled:=true; main.formt.n17.enabled:=true; end; if adoquery1.FieldByName('权限').AsInteger =3 then begin //普通读者拥有查询的权利 main.formt .n23.enabled:=false; //main.Formt.n5.enabled:=false; //main.Formt.n9.enabled:=false; main.Formt.n19.enabled:=false; main.Formt.n20.enabled:=false; end; checkuser.Close;
这段代码运行的有问题:它提示说我的"权限”字段,adoquery找不到,但是我在sql server 中确实存在次字段,只不过这个字段是我在后来做程序的时候又添加的,是不是也受影响呢,还是我的的本身的这段代码的问题 if adoquery1.FieldByName('权限').AsInteger =1 then 权限没有找到,
adoquery1.sql.text:='select * from check1 where 用户名='''+combobox1.text+''' And 密码='''+password.Text+''''; 查找语句对吗?
1.雙墼ADOQuery1控件﹐把'权限'字段加上去。 2.adoquery1.sql.add('select * from check1 where 用户名='+QuotedStr(Trim(combobox1.text))+' And 密码='+QuotedStr(Trim(password.Text)));(我比較喜歡這種寫法﹐可做參考.)