网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi的Tquery控件充分发挥数据库系统SQL功能
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
}

  procedure TGzxFzjsDlg.AddSumExpClick(Sender: TObject);

  begin

  with SUMExpressionDlg do

  begin

  if ShowModal = mrOK then

  begin

   DataFrm.Tgzxjs.Edit;

   case CalStyle.ItemIndex of {CalStyle是包括上述5种合计表达式的选项控件}

   0: //即SUM

   begin

   GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ''(SELECT SUM(''+SumExpression.Text+'') FROM 工资表 WHERE ''+DataFrm.TgzxjsSubQuery.AsString+'')'';

   DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ''SUM(''+SumExpression.Text+'')'';

   end;

   1: //即AVG

   begin

   GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ''(SELECT AVG(''+SumExpression.Text+'') FROM 工资表 WHERE ''+DataFrm.TgzxjsSubQuery.AsString+'')'';

   DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ''AVG(''+SumExpression.Text+'')'';

   end;

   2: //即MAX

   begin

   GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ''(SELECT MAX(''+SumExpression.Text+'') FROM 工资表 WHERE ''+DataFrm.TgzxjsSubQuery.AsString+'')'';

   DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ''MAX(''+SumExpression.Text+'')'';

   end;

   3: //即MIN

   begin

   GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ''(SELECT MIN(''+SumExpression.Text+'') FROM 工资表 WHERE ''+DataFrm.TgzxjsSubQuery.AsString+'')'';

   DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ''MIN(''+SumExpression.Text+'')'';

   end;

   4: //即COUNT

   begin

   GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ''(SELECT COUNT(''+SumExpression.Text+'') FROM 工资表 WHERE ''+DataFrm.TgzxjsSubQuery.AsString+'')'';

   DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ''COUNT(''+SumExpression.Text+'')'';

   end;

   end;

   DataFrm.Tgzxjs.Post;

  end;

  end;

  end;

  {下面过程通过响应双击鼠标将对应的算术运算符+、-、X、/、(、)加到计算表
达式 }

  procedure TGzxFzjsDlg.AddOperationalCharacterDblClick(Sender: TObject);

  begin

  DataFrm.Tgzxjs.Edit;

  GzxFzjsDlg.Expression.Text := GzxFzjsDlg.Expression.Text + ListBox2.Items[ListBox2.ItemIndex];

  DataFrm.TgzxjsSingleExp.AsString := DataFrm.TgzxjsSingleExp.AsString + ListBox2.Items[ListBox2.ItemIndex];

  DataFrm.Tgzxjs.Post;

  end;

  {下面的过程是在用户按下“执行当前工资项计算”按钮后执行的,它的任务是对话
框显示的被定义工资项,对工资表中的该字段根据条件表达式和计算表达式进行重新计
算}

  procedure TGzxFzjsDlg.OKBtnClick(Sender: TObject);

  begin

  if DataFrm.Sgzxjs.State IN [dsEdit,dsInsert] then

   ShowMessage(''记录正在编辑或插入状态,现退回!'')

  else

  begin

  if Data.Confirm(''真的需要根据条件和表达式对工资项 ''+DataFrm.TgzxjsGzx.Value+'' 执行工资项赋值吗?'') then

  begin

  MyPromptFrm.Show; //显示进度和图片

  MyPromptFrm.Update;

  try

  DataFrm.DynamicQuery.Close;

  DataFrm.DynamicQuery.SQL.Clear;

  DataFrm.DynamicQuery.SQL.Add(''UPDATE 工资表 SET ''+DataFrm.Tgzxj
  • 上一篇资讯: 判断MS SQL Server是否启动
  • 下一篇资讯: Delphi COM编程的一个BUG
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号