• 实现手机上的数据库


    一般情况下,数据库应该是放在云服务器等存储,但为何微信等软件,一卸载,通讯录能够保存,但所有的聊天记录等就不见了,我们可以实验下,在电脑上设计好表,在手机上存储数据库。
    一、建数据库
    1、打开RAD Studio XE8,在右侧栏中找到Data Explorer,找到SQLite,右键->Add new Connection,填写名字;
    2、保持上侧不变,在下栏中的Database中选择文件,一般是新建个文件夹,在文件夹中的文件名里填写****.s3db,注意后缀名是.s3db,自定义后即可;
    3、在框中填写User_Name、PassWord,选择Entry为128加密,LockingMode为Normal,StringFormat为Unicode,点击Test,选择好Profile,即可弹出successfully框;
     
    4、在右侧的SQL Script中写入建表代码:
    create table user( 
       id int(10),
       name varchar(100)
    )【注意为小括号】
          
    执行后,说明建表user成功。
    二、使用数据库

    1、新建工程,在.cpp文件中加入头文件#include<System.IOUtils.hpp>;

    2、在刚刚建好的Connection中,将Table里的User拖曳至Form中,就生成了MydemoConnection、Usertable两个组件,记得把Connection和Action设为true;
    3、开始加入label和button组件,用于显示数据,再加入组件 BindNavigator,在DataSourse中选择BindSourceDB1(自动生成);
    4、加入FDGUIxWaitCursor1;
    5、打开View->LiveBindings Designer,在面板中将属性和可编辑的edit相连,BindNavigator会自动与*相连:
    6、点击ImageControl的OnChange事件,写入代码:
    void __fastcall TForm2::ImageControl1Change(TObject *Sender)
    {
     this->UserTable->Edit();
     this->UserTable->FieldByName("picture")->Assign(this->ImageControl1->Bitmap);
    }
    或:点击Table组件的各种事件,做相应的触发动作,如:
    void __fastcall TForm2::UserTableBeforePost(TDataSet *DataSet)
    {
      this->UserTable->Edit();
      this->UserTable->FieldByName("picture")->Assign(this->ImageControl1->Bitmap);
    }
    7、点击MydemoConnection的BeforeConnect事件,写入代码:
    void __fastcall TForm2::MydemoConnectionBeforeConnect(TObject *Sender)
    {
        this->MydemoConnection->Params->Values["Database"]= System::Ioutils::TPath::Combine(System::Ioutils::
        TPath::GetDocumentsPath(),"Mydemo.s3db");
    }
    8、在电脑上运行时,效果如图,点击菜单栏的各个按钮,可方便地实现数据的增删改查。
    三、在手机运行
    1、打开cmd,找到C:>UsersPublicDocumentsEmbarcaderoStudioFireDAC路径下的两个 .ini 文件,将其添加到工程中,以及把在最初生成数据库的.s3db文件,同样加入工程中;
    【注意:打开Project->Deployment,检查两个ini文件是否为 assetsinternal】
    2、运行前,把Usertable设为false,因为数据库文件较大时,手机会卡住打不开,所以可以加一个button来控制数据库开关,无需服务器也可看到数据。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Asp中返回到前一页面
    vs2008 简单ajax 功能的实现。
    Arcgis Server的唯一值渲染
    ArcGIS Server中缓冲区分析的实现(点)
    用两个Calendar控件来控制数据库记录的读入
    把十进制转化为二进制的一种方法
    Segmentation fault (core dumped)
    libc glibc glib 的关系
    使用异或加密数据
    宏定义一些内容
  • 原文地址:https://www.cnblogs.com/aceview789/p/4776323.html
Copyright © 2020-2023  润新知