我用Grid来显示查询结果(因为是操作不同的表且有多种查询,故数据字段是不定的)。如何实现在每次查询结果Grid显示的第一列建立一个序号字段,从1开始编号,2,3,4,5……我目前能想到的是在数据表里建立一个序号字段,每次等查询结束后,再遍历一遍Grid(对应query)里的查询结果,从第一条开始为序号字段赋值1,2,3,4,5……不过觉得这样做太笨了!
不知道您有什么好的方法,请赐教,谢谢!另外,我用Datatimepicker(.kind:=dtkDate)控件输入日期以后,数据表“日期”字段值里还包括了时间值,比如"2003-4-5 13:14:01",该怎样从Datatimepicker只获得日期就可以了?谢谢!

解决方案 »

  1.   

    可以直接使用
    select identity(int,1,1)  AS XH , COL1... from  table 
    就可以增加一个序号了啊
    可以用函数转换一下就可以了
    DATETIMEFORMAT() 自己看一下帮助就可以了。
    不过这个函数返回的是STRING,你再转化一下了。
    STRTODATETIME()
      

  2.   

    不好意思写错了
    DATATIMEFORMAT()
    STRTODATATIME()
      

  3.   

    这样吧。
    select identity(int,1,1)  AS XH , COL1...  into #tmp from  table
    select #Tmp
      

  4.   

    写错:
    select * from #tmp
      

  5.   

    Delphi数据库方面书我看过一些,里面的SQL运用仅仅是最基本的,像二位所给出就没有见过,呵呵,看来还得继续努力!不过,能请二位稍做解释吗?我现在的SQL语句是:
    SELECT 姓名,日期,内容,加分 FROM measure
    WHERE .......
    ORDER BY 日期如果要在DBGrid的第一列加入序号列,代码该作何改动呢?
    我做了改动后,运行出错,提示identity(int,1,1)有误。
    谢谢!