1. Form设计

2. 源码

#include <vcl.h>
#pragma hdrstop

#include "BriefCaseMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TfrmMain *frmMain;

//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
        : TForm(Owner)
{
        BaseFileName = "EMPLOYEE.ADTG";
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::LoadData()
{
        DataFileName = ExtractFilePath(ParamStr(0))+ BaseFileName;
        // If a persisted datafile exists, assume we exited in a disconnected
        // (offline) state and load the data from the file.
        if (FileExists(DataFileName))
        {
                adodsEmployees->LoadFromFile(DataFileName);
        }
        else
        {
                // Otherwise establish the connection and get data from the database
                ckbxConnectionInd->Checked = true;
                adodsEmployees->Open();
        }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::UpdateData()
{
        // Connect to the database and send the pending updates }
        ckbxConnectionInd->Checked = true;
        adodsEmployees->UpdateBatch(arAll);
        DeleteFile(DataFileName);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::SaveData()
{
        adodsEmployees->SaveToFile(DataFileName, pfADTG);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::ckbxConnectionIndClick(TObject *Sender)
{
        if(ckbxConnectionInd->Checked)
        {
                // Toggle the connections state
                adocnctnConnection->Open("", "");
                adodsEmployees->Connection = adocnctnConnection;
                adodsEmployees->Open();
        }
        else
        {
                // Note here you must clear the connection property of the
                // dataset before closing the connection.  Otherwise the dataset
                // will close with the connection.
                adodsEmployees->Connection = NULL;
                adocnctnConnection->Close();
        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnUpdateButtonClick(TObject *Sender)
{
        UpdateData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnRefreshButtonClick(TObject *Sender)
{
        // Close and reopen the dataset to refresh the data.  Note that in this demo
        // there is no checking for pending updates so they are lost if you click
        // the refresh data button before clicking the Update database button.
        ckbxConnectionInd->Checked = true;
        adodsEmployees->Close();
        adodsEmployees->CommandType = cmdTable;
        adodsEmployees->CommandText = "Employee";
        adodsEmployees->Open();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnSaveButtonClick(TObject *Sender)
{
        SaveData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCloseQuery(TObject *Sender, bool &CanClose)
{
        if(adodsEmployees->Active)
        {
                try
                {
                // When closing, update the database if connected or save it to disk if not
                        if (adocnctnConnection->Connected)
                                UpdateData();
                        else
                                SaveData();
                }
                catch(Exception &E)
                {
                        Application->HandleException(Sender);
                        CanClose = MessageDlg("Data not saved/updated, exit anyway?", mtConfirmation,
                                TMsgDlgButtons() <<mbYes <<mbNo <<mbCancel, 0)== mbYes;
                }
        }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
        adocnctnConnection->ConnectionString = "FILE NAME=" + DataLinkDir() + "\\BCDEMOS.UDL";
        LoadData();
}
//---------------------------------------------------------------------------

C++快速开发例子1--ADO之Briefcase相关推荐

  1. 《传智播客.Net培训.net视频教程》(.net视频asp.net培训传智播客asp.net视频教程开放课程c#视频移动开发winform SQL ADO.Net HTML JavaScript

    本资源重要通知 2011年4月传智播客.Net培训-免费公开课现场视频 [重磅内容]微软移动开发介绍1-早起的鸟儿有食吃.rar 详情 53.2MB [重磅内容]微软移动开发介绍2-windows.p ...

  2. 利用UltimateAndroid框架进行快速开发

    UltimateAndroid是一套集成了许多现有优秀的Android开源类库并将之组合成一个整体的Android快速开发框架.框架目前主要包含的功能有View Injection,ORM,异步网络请 ...

  3. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  4. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  5. 浅析工业级物联网项目的快速开发

    浅析工业级物联网项目的快速开发 发表于2015-11-10 15:01| 1567次阅读| 来源CSDN| 4 条评论| 作者蒲婧 CTO俱乐部CTOCTO讲堂物联网工业级刘洪峰叶帆 width=&q ...

  6. Spring Boot快速开发企业级Admin管理后台

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客:点 ...

  7. 使用 CodeIgniter 框架快速开发 PHP 应用(五)

    原文:使用 CodeIgniter 框架快速开发 PHP 应用(五) 简化 HTML 页面和表格设计 这一章介绍了又一个节约你的时间而且使你的代码更具安全性和逻辑性的领域. 第一,我们将会介绍创建视图 ...

  8. 用ionic快速开发hybird App(已附源码,在下面+总结见解)

    用ionic快速开发hybird App(已附源码,在下面+总结见解) 1.ionic简介 ionic 是用于敏捷开发APP的解决方案.核心思路是:利用成熟的前端开发技术,来写UI和业务逻辑.也就是说 ...

  9. .NET Core:新的快速开发平台

    .NET Core 今年已经发布了 2.0 版本了.技术雷达最近将 .NET Core 从"评估"移到了"试用"阶段,意味着运用这项技术的风险在不断减小.本文将 ...

最新文章

  1. Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
  2. linux shell中小数的运算
  3. 以太坊Solidity函数的external/internal,public/private区别
  4. POJ 1039 Pipe
  5. arm ida 伪代码 安卓 符号表_IDA 制作 sig文件 gdb 导入符号表
  6. canvas js 绘图插件_Canvas专题—绘制柱状图(2)
  7. R 学习 - 箱线图
  8. Spring事务-1
  9. 2011-8-4 今天完成了去掉上传文件(input type=file)的框框 哎 人家客户不要框框。...
  10. Apache Commons Compress 文件解压缩库
  11. 云计算IaaS核心技术全景指南
  12. win8的cmd运行命令大全
  13. 利用matlab来进行路径规划,matlab路径规划系列
  14. flvjs is not defined
  15. IIS 中 HTTPS 自签名证书 的使用
  16. Android实战(四)——正能量日报
  17. gom引擎Gompj.dll跟Key.lic做什么的
  18. 学习笔记 | 面对海量数据,为什么无法设计出完美的分布式缓存体系?
  19. Lync Server 2013视频会议架构
  20. 数据结构学习笔记(5.树与二叉树 6.图)

热门文章

  1. 关于vue项目,手机端实现双指控制图片缩放
  2. html超链接怎么新建窗口打开,html超链接新窗口打开怎么写
  3. 通过RMI下载UNIX系统上的文件
  4. Qt中设置窗口边框的圆形
  5. 掌门1对1java面试_掌门一对一面试/轻轻教育面试
  6. AjaxUpLoad.js使用实现文件上传
  7. Linux基础之脚本文件
  8. (翻译)取消按钮绝不该有背景色的原因
  9. 产品思维训练 | “网易亲时光” 该何去何从?
  10. Android之:了解MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE 2,MeasureSpec.AT_MOST)