zoukankan      html  css  js  c++  java
  • dbgrid1

     

     

    sql.Add('select * from 表名 where  条件 order by字段asc'); //进行查询、排序   其中“ order by  表示按“指定字段”进行排列顺序  参数:asc(升序) 或desc(降序) ”

     

    begin

    dbgrid1.Columns [0].Width :=512; //0表示第一列 ,

    end;

     

    begin

    edit1.Text :=inttostr(table1.RecNo);//当前记录号显示在edit1.text中

    end;

     

    begin

    if table1.Eof =true then     //eof 改为bof,就是首记录

    showmessage('已是最后一条记录')

    else

    table1.Next    //首记录时,next改为Prior

    end;

    end.

     

    //前提:合计列和指定列必须都是N型字段

    begin

      with query1 do

    begin

    sql.Clear ;  //清理sql

    sql.Add('select sum(要合计字段) 合计后字段名称 from 表 where 字段 between 2 and  4'); //“合计后字段名称”改成需要的名称,where后的“字段”为非合计字段之一,“between”是函数,表示在什么之间,“between 2 and  4”表示合计结果为指定字段在2~4之间的所有数。(如把“where 字段 between 2 and 4”改为:where 字段=x,则只合计结果为指定字段等于x的数)where后面的字段为N型。

    open; //打开数据库

    end;

    end;

    ·          AVG (平均)

    ·          COUNT (计数)

    ·          MAX (最大值)

    ·          MIN (最小值)

    ·          SUM (总合)

    运用函数的语法是:

    SELECT "函数名"("栏位名")

    FROM "表格名"

     

    总数:select count as totalcount from table1

    求和:select sum(field1) as sumvalue from table1

    平均:select avg(field1) as avgvalue from table1

    最大:select max(field1) as maxvalue from table1

    最小:select min(field1) as minvalue from table1

     

     

    双击DBGrid1,然后选中要进行下拉的字段名称,设置其PickList属性。

     

    下拉内容取指定数据库内容代码如下:

     

    Begin //注:上面代码中不能有"end;"

    with query1 do

    begin

    sql.Clear ;  //清理sql

    sql.Add('select distinct 字段名 from 表名'); //进行不重复查询

    open; //打开数据库

    begin

    Query1.open;

    Query1.First;//指向第一条

    dbgrid1.columns[0].picklist.Clear;// dbgrid1.columns[0]是指在dbgrid1的第一个字段。

    while not Query1.eof do//向下查询

    begin

    dbgrid1.columns[0].picklist.Add(Query1.fieldByname('字段名').asstring);//向下拉菜单中添加数据库中的内容,'字段名' 是选择项数据库的字段名

    Query1.Next;

    end;

    end;

    end;

    end;

     

     

     

    begin

    DBGrid1.Columns[0].Alignment := taCenter;//第一个显示字段记录

    end;

    ­­begin

    DBGrid1.Columns[0].Title.Alignment   :=   TaCenter ;//第一个显示字段名

    end;

     

    在DBGrid1的KeyPress事件中写如下代码:

    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);

    begin

    if key=#13 then

    begin

     if(DBGrid1.SelectedIndex=DBGrid1.FieldCount-1) Then

     Begin

        DBGrid1.SelectedIndex:=0;

       Table1.Next;

     End

     Else

        DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1;

    end;

    end;

     

    在DBGrid1的On DrawColumnCell事件中写如下代码:

    var i:integer;

    begin

    i:=Table1.RecNo;

    if (i mod 2) =1 then

    DBGrid1.Canvas.Brush.Color:=clblue  //蓝

    else

    DBGrid1.Canvas.Brush.Color:=clred; //红

    dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);

    end;

     

    //abc三个字段都是n型(+-*,不能做/)

    begin

    with Table1 do

    begin

    first;

    while not eof do

    begin

    edit;

    fieldbyname('c').Asinteger := fieldbyname('a').Asinteger +fieldbyname('b').Asinteger ;

    post;

    next;

    end ;

    end;

    end;

    end.  

     

     

    从Additional面板选择ApplicationEvents1控件   

       再他的onMessage事件里   

       procedure    TForm1.ApplicationEvents1Message(var    Msg:    tagMSG;   

       var    Handled:    Boolean);   

       begin   

           if    (DBGrid1.Focused)    And    (Msg.message    =    WM_MOUSEWHEEL)    then   

           begin   

           if    Msg.wParam    >    0    then   

               SendMessage(DBGrid1.Handle,    WM_KEYDOWN,    VK_UP,    0)   

           else   

               SendMessage(DBGrid1.Handle,    WM_KEYDOWN,    VK_DOWN,    0);   

           Handled    :=    True;   

           end;   

       end;

     

     

     

    在dbgrid最后追加空记录

    query1.append;

  • 相关阅读:
    jQuery(jquery ui,jquery plugins)插件笔记1
    怎样批量删除.svn文件
    js中传递参数为0开头的数字时候,存在转码的问题
    struts文件上传,获取文件名和文件类型
    Log4j配置
    怎样通过CSS控制input输入框有readonly属性的背景色
    EXECUTE IMMEDIATE
    row_number() over(partition by column1 order by column2 desc) rn 用法
    React概述
    Web前端,高性能优化
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1604986.html
Copyright © 2011-2022 走看看