XE8调用Access数据库

    技术2022-07-11  93

    1.首先需要利用Access建一个空表,或者利用已知表table.mdb

      虽然可以动态创建表单 和相关字段,但是对于特定的程序功能,建议直接建好表单格式,避免不必要的语法错误、

    2.连接数据库文件,并检查数据库的连接是否成功

       基于XE8已经封装好的组件:ADOConnection,ADOQuery, DataSource,以及可有可无的DBGrid

       Step 1: ADOConnection右键编辑,选中Use Connection String,点击Build按钮,上方Provider选项选中第一个,

                    Connection选项选中自己的数据库文件的绝对路径,可以考虑设置密码,因为数据自己做了加密,这里不设定密码

                    点击下方的Test Connection按钮,可以测试是否连接成功,未成功的情况,自己再去查下资料吧

    //号外,在程序中连接数据库,并测试连接是否成功

    //配置数据库的连接为相对路径,该路径是执行档exe文件所在的相对路径 ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExtractFilePath(Application->ExeName) +"STT_VAP.mdb;Persist Security Info=False"; try { ADOConnection1->Open();//测试连接 } catch(Exception &E) { ShowMessage("Please Check The DBFile !");//连接失败作出提示 Application->Terminate(); }

       Step 2:将ADOQuery的Connection属性的值,选中为上述的ADOConnection控件

       Step 3 :将DataSource的DataSet属性的值,选中为上述的ADOQuery控件

    //需要直观的看到数据语句执行后的结果的话,将DBGrid的DataSource属性的值,选中为上述DataSoruce控件

    3.执行SQL 语句

    ADOQuery1->Active = False;//断开已有的连接,创建新的数据库连接 ADOQuery1->SQL->Clear();//执行数据库语句之前,清除已加载的语句 adminKey = "SELECT * FROM HostFile where FullPath = '"+adminKey+"'"; ADOQuery1->SQL->Add(adminKey) ;//添加新的数据库语句 ADOQuery1->ExecSQL();//除了查询语句之外,其他的都是使用ExecSQL //查询语句的话,语句变更为:ADOQuery1->Open();

    4. 关于语句中出现特殊字符的转义

         目前只遇到并处理了单引号的问题,不同于其他的环境,“ \'  ”用反斜杠+单引号 代表单引号 

        在这里,用两个连续的单引号 “ ''  ”来代表一个单引号

    5.关于数据库的复用,有一种情况是,在删除掉数据库记录之后,需要将ID自增从1开始计数,

       操作办法是:菜单栏选择数据库工具,左上角压缩和修复数据库工具,然后就会变成一个带字段的空表,比较方便

    Processed: 0.011, SQL: 9