程序段:
   procedure TForm9.SnButton1Click(Sender: TObject);
var temp,pwd,quanxian:String;
begin
  temp:=SnEdit1.Text;
  pwd:=Snedit2.Text;
  quanxian:=str_t;
  if in_up=1 then
    begin
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select * from user_manage where name=:t1');
      adoquery1.Parameters.ParamByName('t1').Value:=trim(snedit1.Text);
      adoquery1.Open;
      if adoquery1.Eof then
        begin
          adoquery1.Close;
          adoquery1.SQL.Clear;
          adoquery1.SQL.Add('insert into user_manage(UserName,Password,Permission) values(:user1,:pwd1,:auth1)');
          adoquery1.Parameters.ParamByName('user1').Value:=trim(snedit1.Text);
          adoquery1.Parameters.ParamByName('pwd1').Value:=trim(snedit2.Text);
          adoquery1.Parameters.ParamByName('auth1').Value:=str_t;
          adoquery1.ExecSQL;
          Snedit1.Text:='';
          Snedit2.Text:='';
          SnRadiobutton1.Checked:=false;
          SnRadiobutton2.Checked:=false;
          Snedit1.SetFocus;
          adoquery1.Close;
          adoquery1.SQL.Clear;
          adoquery1.SQL.Add('select * from user_manage');
          adoquery1.Open;
        end;
    end;
end;数据表:user_manage
    username  文本
    password  文本
    permisssion  文本
    Note    文本 允许为空
    Ime     文本  允许为空出错信息;Project GHMIS.exe raised exception class EOleException with message 
'至少一个参数没有被指定值'
问题解决了,我再加分,请各位大侠帮忙谢谢啦!

解决方案 »

  1.   

    你干吗所有的操作 都用同一个ADOQUERY 你如果不搞清楚里面的逻辑,顺序问题等
    很容易出错误的 你换成三个不同的QUERY试试 应该OK
      

  2.   

    adoquery1.SQL.Add('select * from user_manage where name=:t1');
    ×××× adoquery1.Parameters.ParamByName('t1').Value:=trim(snedit1.Text);
    我觉的这里出错了。T1没有定义。
      

  3.   

    请问我这段程序为什么出错呀?请指点procedure TForm1.Button1Click(Sender: TObject);
    var name,pwd,auth:string;
    begin
    name:=edit1.Text;
    pwd:=edit2.Text;
    auth:=edit3.Text;
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('insert into users_tab(name,pwd,auth) values(:user1,:pwd1,:auth1)');
    adoquery1.Parameters.ParamByName('user1').Value;
    adoquery1.Parameters.ParamByName('pwd1').Value;
    adoquery1.Parameters.ParamByName('auth1').Value;
    adoquery1.ExecSQL;
           edit1.Text:='';
           edit2.Text:='';
           edit3.Text:='';
           edit1.SetFocus;
           adoquery1.Close;
           adoquery1.SQL.Clear;
           adoquery1.SQL.Add('select * from users_tab');
           adoquery1.open;
    end;
      

  4.   

    adoquery1.Parameters.ParamByName('auth1').Value;参数就没赋值