// ADO连接
    TADOConnection *con = new TADOConnection(NULL);
    TADOQuery *aq = new TADOQuery(NULL);
    TADOQuery *aq1 = new TADOQuery(NULL);
    try
    {
        if (con->Connected)
            con->Connected = false;

try
        {
        AnsiString s;
        con->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password="+
        QuotedStr(s)+";User ID=Admin;Data Source="+strMdbFile+
        ";Mode=Share Deny None;Persist Security Info=True;Jet OLEDB:Database Password=''"+
        ";Jet OLEDB:Engine Type=5;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";

//这个可以关闭database login提示对话框
            con->LoginPrompt=false;
        con->Connected = true;
        }
        catch(...)
        {
            ::MessageBox(0, TEXT("打开数据库失败!"),
                    TEXT("警告"), MB_OK | MB_ICONWARNING);
        }

// 如果连接成功,就通过ADOQuery读取字段
        if (con->Connected)
        {
            AnsiString   SQLtxt;
            if(SSCnow.SSClb==3)
                SQLtxt="select * from p3 order by cgstr";
            else if(SSCnow.SSClb==2)
                SQLtxt="select * from 3D order by cgstr";
            else
                SQLtxt="select * from SSC order by cgstr";

aq->Connection = con;

aq->Close();
            aq->SQL->Clear();
            aq->SQL->Text = AnsiString().sprintf(
                    TEXT("%s"),
                    SQLtxt);

try
            {
               //批量数据集修改
                aq->Open();
                if(aq->RecordCount==0)//说明彩果为空
                {
                   for(int Ri=0;Ri<Memo3->Lines->Count ;Ri++)
                   {

if(Memo3->Lines->Strings[Ri].Length()>5 && !Memo3->Lines->Strings[Ri].Pos("=") )
                     {
                       aq->Append() ;//开始修改数据
                       aq->FieldByName("cgstr")->AsString=Memo3->Lines->Strings[Ri];
                       aq->Post();  //next的游标就已经post了
                     }
                   }
                }
                else   //说明原彩果库不为空
                {
                   aq->Last();//最后一个记录
                   for(int Ri=Memo3->Lines->Count-1 ;Ri>=0;Ri--)
                   {
                     if(aq->FieldByName("cgstr")->AsString==Memo3->Lines->Strings[Ri])
                     {
                        //当找到相同期数时
                        for(int J=Ri+1;J<Memo3->Lines->Count;J++)
                        {
                           if(Memo3->Lines->Strings[J].Length()>5 && !Memo3->Lines->Strings[Ri].Pos("="))
                           {
                              aq->Append() ;//开始修改数据
                              aq->FieldByName("cgstr")->AsString=Memo3->Lines->Strings[J];
                              aq->Post();  //next的游标就已经post了
                           }
                        }
                     }
                   }

}
               CGxs();
               //ShowMessage("完成彩果保存!");

}

catch(...)
            {
                //bSucceed = false;
                ::MessageBox(0, TEXT("打开表时发生错误!"),
                        TEXT("警告"), MB_OK | MB_ICONWARNING);
            }
        }
    }

__finally
    {
        delete aq;
        delete con;
    }

C++ Builder ADO数据库连接与保存相关推荐

  1. 终于搞清楚了ADO数据库连接中的Persist Security Info参数的作用

     终于搞清楚了ADO数据库连接中的Persist Security Info参数的作用 ADO用了这么久,每次用向导创建ADO的数据库连接字符串时总会有产生一个Persist Security Inf ...

  2. ADO数据库连接中的Integrated Security和Persist Security Info参数的作用

    关于sql连接语句中的Integrated Security=SSPI 解决方法: 即:Security Support Provider Interface 设置Integrated Securit ...

  3. udl文件的制作——用于ADO数据库连接(Oracle举例)

    名词术语 DSN(Data Source Name)数据源名 UDL(Universal Data Link)通用数据库链接.是一种文件类型,后缀为.udl. 使用通用数据链接 (UDL) 文件来保存 ...

  4. ADO数据库连接中的Persist Security Info参数的作用

    作者: 云杉上的蝴蝶    来源: IXPUB技术博客 可能许多人不知道数据库连接参数(Connection String) 中的Persist Security Info 参数是做什么用的,且用到的 ...

  5. Delphi / C ++ Builder / Lazarus报表开发:如何直接从代码中保存BPM / JPEG / TIFF / GIF?

    报表生成器FastReport VCL是用于在软件中集成商务智能的现代解决方案.它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web, ...

  6. 一种利用ADO连接池操作MySQL的解决方案(VC++)

    VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连 ...

  7. [No0000BC]ADO.NET中的几个主要对象

    ADO 指 ActiveX 数据对象(ActiveX Data Objects). 从一个 ASP 页面内部访问数据库的通常的方法是: 创建一个到数据库的 ADO 连接 打开数据库连接 创建 ADO ...

  8. TensorFlow模型保存pb或ckpt

    Tensorflow的保存分为三种:1. checkpoint模式:2. pb模式:3. saved_model模式. https://www.zhihu.com/collection/6445044 ...

  9. @RequestBody序列化有@Builder修饰的实体类时产生的问题

    问题来源 写一个POST接口时,使用@RequestBody注解序列化参数对象,对象中使用LomBok的@Builder注解 @ApiOperation(value = "保存导入导出配置& ...

最新文章

  1. 16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换
  2. JAVA_OA(六):SpringMVC登陆实例
  3. 校园网站服务器配置参数,校园网服务器性能 配置及分布
  4. OpenStack运维面试(1)
  5. 1-26HashSet简介
  6. python怎么输出表格中随机数_python 输出一个随机数
  7. 区块链的一些名词解释
  8. java-背包的实现
  9. wordpress上传文件报错的解决方法(413 Request Entity Too Large、超过upload_max_filesize文件中定义的php.ini值)
  10. ORACLE EXP/IMP的使用详解 (解决9i(window)导入到10G的乱码问题)
  11. Redis相关面试题总结
  12. 图书管理系统c语言大二作业,c语言程序设计大作业--图书管理系统
  13. (struct)结构体变量作为函数参数调用的方法小结
  14. 稳压管和TVS管的工作原理
  15. 机器学习入门09 - 特征组合 (Feature Crosses)
  16. 关于怎么查看自己电脑正版windows的产品密钥
  17. xp重启计算机的快捷键,xp电脑关机重启快捷键是什么
  18. 在java中如何输入角度_在Java中获取角度的反余弦
  19. 数据同步工具—sqoop 2.x
  20. Python编程IDE的选择

热门文章

  1. Redis开启远程访问及密码认证
  2. podman加速配置、harbor镜像仓库部署
  3. android6.0 Bluetooth蓝牙源码流程笔记
  4. 基于Material实现下拉框多选并且可点击“x”删除(Chips)
  5. MediaStore数据库分析
  6. matlab坐标轴设置多种字体(复合字体)
  7. mysql学习第二天
  8. 神奇的Redis延迟
  9. 金山WPS面经 c++开发工程师
  10. DirectX学习笔记(十五):粒子系统实现