ホームページ データベース mysql チュートリアル Access 数据表分页显示&导入数据库

Access 数据表分页显示&导入数据库

Jun 07, 2016 pm 03:32 PM
access amp DE ページネーション 輸入 データベース データシート 見せる

以 Delphi 开发基于 Oracle/SQL Server 的数据库应用程序,在显示表中数据时,若数据量过大,难免要应用 分页 技术――幸运的是,诸于此两者的大型 DBMS,对 分页 提供了良好的支持,但对 M$Access 来说却要麻烦些――前提自然是 Access 表中没有自增字段―

 以 Delphi 开发基于 Oracle/SQL Server 的数据库应用程序,在显示表中数据时,若数据量过大,难免要应用 分页 技术――幸运的是,诸于此两者的大型 DBMS,对 分页 提供了良好的支持,但对 M$  Access 来说却要麻烦些――前提自然是 Access 表中没有自增字段――而这正是关键...

    实现步骤:
    一、变量定义
    FTotalRecCountMDB: Integer; //Access 库中表的记录数
    FFieldLstAndType: string; //字段及字段类型列表
    FFieldLst: string; //字段列表
  
    二、变量使用(示例)
    FFieldLstAndType:= 'Name varchar(255); Age integer; Addr varchar(255)';
    FFieldLst:= 'Name; Age; Addr';

    三、准备
    //创建同结构临时表――多出 ID 自增字段!
    //aqy_Tmp 已连接至对应的 Access
    with aqy_Tmp do //aqy_Tmp: TADOQuery
    begin
      Close;
      SQL.Text:= 'Create Table _TabTmp(ID Counter PRIMARY KEY,' + FFieldLstAndType + ')';
      ExecSQL;
      Close;
    end;

    //将所选的表中的数据 Copy 到临时表
    with aqy_Tmp do
    begin
      Close;

      SQL.Text:=
        'Insert Into _TabTmp(' + FFieldLst + ')' +
        'Select ' + FFieldLst + ' From ' + edt_TabName.Text; //edt_TabName: TEdit;

      ExecSQL;
      Close;
    end;

    四、OK,分页显示&导入DB //每 万条 分一页,    var
      i{, j}: integer;      
      BatchCount: Integer;
    begin
      with aqy_Tmp do
      begin
        if FTotalRecCountMDB         begin
          if Active then
            Close;

          SQL.Text:= 'select * from _TabTmp';
          Open;
          
          //then import datas into DB
          {while not Eof do          
           ...
           Next;
          }
        end
        else
        begin
          if FTotalRecCountMDB mod 10000 = 0 then
            BatchCount:= FTotalRecCountMDB div 10000
          else
            BatchCount:= FTotalRecCountMDB div 10000 + 1;

          for i:= 0 to BatchCount - 1 do
          begin
            if Active then
              Close;

            //分页
            SQL.Text:=
              'select * from _TabTmp where ID Between ' +
              IntToStr((i * 10000) + 1) + ' and ' + IntToStr((i + 1) * 10000);
              
            Open;
            
            //other codes that import datas to DB
            {while not Eof do
             ...
             Next;
            }
          end; //end for loop    
        end; //batch end

        //delete _TabTmp
        if Active then
          Close;
        SQL.Text:= 'Drop Table _TabTmp';
        ExecSQL;
        Close;
      end; //end with aqy_Tmp
    end;
    
    OK,Done!

    实际应用中当然至少还应加进 异常处理,及 Application.ProcessMessages 以免在导数据入库过程中程序假死~

ADelphiCoder

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル May 07, 2024 pm 04:20 PM

1. Windows 11で設定を開きます。 Win+I ショートカットまたはその他の方法を使用できます。 2. 「アプリ」セクションに移動し、「アプリと機能」をクリックします。 3. バックグラウンドでの実行を禁止したいアプリケーションを見つけます。三点ボタンをクリックして、[詳細オプション] を選択します。 4. [バックグラウンド アプリケーションのアクセス許可] セクションを見つけて、目的の値を選択します。デフォルトでは、Windows 11 は電力最適化モードを設定します。これにより、Windows はアプリケーションがバックグラウンドでどのように動作するかを管理できるようになります。たとえば、バッテリーを節約するためにバッテリー セーバー モードを有効にすると、システムはすべてのアプリを自動的に終了します。 5. アプリケーションがバックグラウンドで実行されないようにするには、[なし] を選択します。プログラムが通知を送信していない、データの更新に失敗しているなどに気付いた場合は、次のことができることに注意してください。

System76 が Fedora 42 の 2025 年リリースに向けた Fedora Cosmic スピンをヒント System76 が Fedora 42 の 2025 年リリースに向けた Fedora Cosmic スピンをヒント Aug 01, 2024 pm 09:54 PM

System76 は最近、Cosmic デスクトップ環境で話題になっており、8 月 8 日に Pop!_OS の次のメジャー アルファ ビルドで開始される予定です。しかし、System76 CEO の Carl Richell 氏による X に関する最近の投稿では、Cosmic DE が開発者

DeepSeek PDFを変換する方法 DeepSeek PDFを変換する方法 Feb 19, 2025 pm 05:24 PM

DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Oracleでdbfファイルを読み取る方法 Oracleでdbfファイルを読み取る方法 May 10, 2024 am 01:27 AM

Oracle は、次の手順で dbf ファイルを読み取ることができます。外部テーブルを作成し、その dbf ファイルを参照し、データを Oracle テーブルにインポートします。

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理する方法 PHP でデータベース接続エラーを処理する方法 Jun 05, 2024 pm 02:16 PM

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

サムスンはマイクロソフトの MR ヘッドセットにディスプレイを提供する予定で、デバイスはより軽量でより鮮明なディスプレイを備えていることが期待されています サムスンはマイクロソフトの MR ヘッドセットにディスプレイを提供する予定で、デバイスはより軽量でより鮮明なディスプレイを備えていることが期待されています Aug 10, 2024 pm 09:45 PM

最近、Samsung Display と Microsoft は重要な協力協定を締結しました。合意によると、Samsung Displayは、ゲームや映画などのマルチメディアコンテンツ向けのMRデバイスを開発しているMicrosoftに、数十万枚の複合現実(MR)ヘッドマウントデバイス用のOLEDoSパネルを開発、供給する予定だ。 OLEDoSの仕様決定後に発売され、主に商用分野向けに提供され、早ければ2026年にも提供される予定だ。 OLEDoS (OLED on Silicon) 技術 OLEDoS は、シリコン基板上に OLED を蒸着する新しいディスプレイ技術であり、従来のガラス基板と比較して、より薄く、より高い画素数を実現します。 OLEDOS表示と通常表示

See all articles