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;

  • 相关阅读:
    用 Python 带你看各国 GDP 变迁
    Fluent Interface(流式接口)
    probing privatePath如何作用于ASP.NET MVC View
    Word插入htm文件导致文本域动态增加的一个问题
    Visual Studio 2013附加进程调试IE加载的ActiveX Control无效解决方法
    Ubuntu下Chrome运行Silverlight程序
    Windows Phone Bing lock screen doesn't change解决方法
    SPClaimsUtility.AuthenticateFormsUser的证书验证问题
    Web Service Client使用Microsoft WSE 2.0
    Visual Studio 2013安装Update 3启动crash的解决方法
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1604986.html
Copyright © 2011-2022 走看看