高手帮我看看Sql语句怎么错了??最好帮我写出正确的语句,50分相送,在线等待!(SelectFieldId是变量)             ADODataSetQQery.Close ;
       ADODataSetQQery.CommandText :='';
       ADODataSetQQery.CommandText :='Select lstid,lstname,lstmrk  From   tablelist Where lstkind=:SelectFieldId';
       ADODataSetQQery.Open ;
       DataSourceQQery.DataSet :=ADODataSetQQery;
       DBGridQQery.Refresh ;附:愿意的朋友可以给出ADODataSet 控件的带参数的SQL的用法,呵呵,分不够可以加!

解决方案 »

  1.   

    SelectFieldId:变量。
    lstkind='+SelectFieldId+''
      

  2.   

    with ADOCommand1 do begin
      CommandText := 'INSERT INTO Talley ' +
        '(Counter) ' +
        'VALUES (:NewValueParam)';
      CommandType := cmdText;
      Parameters.ParamByName('NewValueParam').Value := 57;
      Execute
    end;
      

  3.   

    ADODataSetQQery.CommandText :='Select lstid,lstname,lstmrk  From   tablelist Where lstkind='+SelectFieldId+'';
      

  4.   

    ADODataSetQQery.Close ;
           ADODataSetQQery.CommandText :='';
           ADODataSetQQery.CommandText :='Select lstid,lstname,lstmrk  From   tablelist Where lstkind=:SelectFieldId';
           ADODataSetQQery.Parameters[0].Value := variant(57);
           ADODataSetQQery.Open ;
           DataSourceQQery.DataSet :=ADODataSetQQery;
           DBGridQQery.Refresh ;
      

  5.   

    应该这样吧
    ADODataSetQQery.Close ;
           ADODataSetQQery.CommandText :='';
           ADODataSetQQery.CommandText :='Select lstid,lstname,lstmrk  From   tablelist Where lstkind=:a';
           adodatasetqqery.paramarter('a').asstring=selectfieldid;
           ADODataSetQQery.Open ;
           DataSourceQQery.DataSet :=ADODataSetQQery;
           DBGridQQery.Refresh ;试试吧
      

  6.   

    谢谢大家,问题已经解决了,正确答案如下:ADODataSetQQery.CommandText :='Select lstid,lstname,lstmrk  From   tablelist Where lstkind='''+SelectFieldId+'''';
     haerbin982() 的思想是对的,但少了引号,呵呵!!!!!!!!!!!!!!!