回 帖 发 新 帖 刷新版面

主题:我的关于权限问题

我做的权限的程序
procedure TForm1.Button5Click(Sender: TObject);
var
a:string;
begin
a:=Edit5.Text;
query1.Close;
query1.ParamByName('Manageno').Value:=a;
query1.Open;
if query1.Fields[0].Value =null then
begin
showmessage ('错误的用户名!');
exit;
end;
if query1.Fields[2].Value = Edit6.Text then
Form6.Show
else
begin
showmessage ('密码不正确');
exit;
end;

end;
然后它说Query1.parameter'mamageno'is not found,可是我建的表里是有manageno的啊.请问为什么会错呢?????
谢谢啊 







end.

回复列表 (共10个回复)

沙发

是参数名写错了

板凳


那个a吗?哪里错了啊??

3 楼

你没制定表名!!! sql写对了没?

4 楼

SQL语句是:
SELECT Mmima FROM manage where Manageno=':a';
manage 是表名啊.
Mmima 是密码的意思.有问题的吗?

5 楼


那条语句是写在QUERY1的SQL属性里的

6 楼

SELECT Mmima FROM manage where Manageno=:a;  注意参数变量不能有''。
query1.ParamByName('Manageno').Value:=a;前加一行:
query1.ParamByName('Manageno').DataType:=ftString;


7 楼


还是不行啊

8 楼

改成select * from ....就可以啦。

9 楼


谢谢了,可惜还是没用

10 楼

“Query1.parameter'mamageno'is not found”说明参数的名称应该是“mamageno”。
按下面写:
SELECT Mmima FROM manage where Manageno=:Manageno;  //“:”后是参数名
...
a:=Edit5.Text;
query1.ParamByName('Manageno').DataType:=ftString;
query1.ParamByName('Manageno').Value:=a;

如果按你原来的SQL语句“SELECT Mmima FROM manage where Manageno=:a;”,参数名应该是“a”,应该如下写:
...
a:=Edit5.Text;
query1.ParamByName('a').DataType:=ftString;
query1.ParamByName('a').Value:=a;
这里的变量a与参数a不会有影响。

我来回复

您尚未登录,请登录后再回复。点此登录或注册