小弟在做一个选课系统,在选课完成以后,通过DBGrid显示出查询情况.当表中有多条数据时,想求一条语句,如何使某人选课完成后,查询时在DBGrid中第一行就看见自己的信息??小弟比较菜,望各位大哥能详细的指点?谢谢~~

解决方案 »

  1.   

    在数据集中做文章了,如用TADOQuery
    var
      SQLs: string;
    begin
      SQLs := 'SELECT * FROM (SELECT * CASE FieldUserId = ' + UserId + ' WHEN 0 ELSE 1 END AS MyUser FROM Table1) ORDER BY MyUser'//FieldUserId中的字段编号名称,UserId为系统的用户编号
      with ADOQuery1 do
        if Active then Open;
        SQL.Clear;
        SQL.Add(SQLs);
        Open;
      end;
      

  2.   

    直接用locate定位就可以满足要求了。
    不过如果说数据集的第一条,那么就要在数据集的SQL语句上下功夫了,不过没这必要。