我记得格式应该是select * from table where username=:username and password=:password
应该是username和password是变量了吧,
为什么总是出错?

解决方案 »

  1.   


    parameters[0].value:=username的值;
    parameters[1].value:=password的值;
      

  2.   

    格式是这样子的:以下使用DataSource、Query、DBGrid控件
    query1.Close;
    query1.SQL.Clear;
    query1.SQL.Add('select * from table where username=:username and   
    password=:password');
    query1.ParamByName('username').AsString:='张三';
    query1.ParamByName('password').AsString:='1234';
    query1.Open;
    如果你是用Edit来输入 usename和password的话,就改两句:
    query1.ParamByName('username').AsString:=Edit1.text;
    query1.ParamByName('password').AsString:=Edit2.text;
    这是一个很简单的问题,有很多种做法
      

  3.   

    你也可以先用一个String
    var 
    context : String
    context = 'select * from table where username=''' + username + '''and password='' + password + '''';
    query1.SOL.Add(context);
      

  4.   

    你还是按照 huazaijiajia() 说的做吧,正规一些
      

  5.   

    使用query:
    with query do
    begin
    Close;
    SQL.Clear;
    SQL.Add('select * from table where username=:username and   
    password=:password');
    ParamByName('username').value:='张三';
    ParamByName('password').value:='1234';
    Open;
    end;使用adoquery时,参数赋值改为:
    parameters.ParamByName('username').value:='张三';
    parameters.ParamByName('password').value:='1234';
    其它相同。
      

  6.   

    估计是你没有定义变量的datatype和paramtype
      

  7.   

    Query属性:select password form user where userid:=userid;Tform1.button1click(Tobject :sender);
    var
    str:string;
    begin
      Query1.params[0].value:=edit1.text ;
      if Query1.params[1].value=edit2.text  then
      begin
        str:=Query1.params[0].value+Query1.params[1].value;