• 当前位置:首页>>JavaScript教程>>JavaScript综合技巧>>Delphi三十六之数据库篇
  • Delphi三十六之数据库篇
  •   1.在TDBGrid中将Enter键用作Tab键

      //设置窗体的KeyPreview为True


    procedure TForm1.FormKeyPress(Sender: Tobject; var Key: Char);

     begin
      if Key = #13 then
      if not (ActiveControl is TDBGrid) then
       begin
        Key := #0;
        Perform(WM_NEXTDLGCTL, 0, 0);
      end
     
     else
      if (ActiveControl is TDBGrid) then
       with TDBGrid(ActiveControl) do
      if selectedindex $#@60; (fieldcount -1) then
       selectedindex := selectedindex +1
      else
       selectedindex := 0;

      end;

      2.删除记录前显示汉语的提示对话框

      //设置DbNavigator的ConfirmDelete属性为False
      //在数据集控件的BeforeDelete事件中编写如下代码:

    if Application.MessageBox("确定要删除当前记录吗?", "删除 记录", Mb_YesNo + Mb_IconWarning) =
    Id_No then
    Abort; //利用哑异常退出删除事件

      3.提交记录前进行用户定义完整性检查

      //在数据集控件的BeforePost事件中编写如下类似代码

    if not CheckPass then //CheckPass为自定义的完整性检查函数,用户根据需要完成

    begin
    Application.MessageBox(‘当前库存量不足以下发,请修改后再保存!’,
    ‘输入 错误’, Mb_Ok + Mb_IconError);
    Abort; //利用哑异常退出提交事件
    end;

      4.用Delphi压缩和修复access 数据库

    uses ComObj;
    //............
    Procedure CompactDb(DbName, NewName: string);

     var
      dao: OLEVariant;
     begin
     dao := CreateOleObject("DAO.DBEngine.35");
     dao.CompactDatabase(DbName, NewName);
    end;

    procedure RepairDb(DbName: string);

     var
      dao: OLEVariant;

      begin
      dao := CreateOleObject("DAO.DBEngine.35");
      dao.RepairDatabase(DbName);

    end;

      以上代码在Delphi5下测试通过。

    [1]

  • 上一篇:优化Win2000网络速度
    下一篇:Delphi三十六之硬件篇