Perst我使用的版本是4, 几乎支持所有的.net环境, 而且效率很高,比较稳定。

使用方法:

1:引用相应dll

2: 创建数据结构

public class Cp_struct : Persistent, System.ComponentModel.INotifyPropertyChanged

{

[FullTextIndexable]  // 创建索引

public string Cpph;

public string cpph { get { return this.Cpph; } set { if (this.Cpph != value) { this.Cpph = value; OnPropertyChanged("cpph"); } } }

public string cpmz { get { return this.Cpmz; } set { if (this.Cpmz != value) { this.Cpmz = value; OnPropertyChanged("cpmz"); } } }         public string Cpmz;

public string ddjs { get { return this.Ddjs; } set { if (this.Ddjs != value) { this.Ddjs = value; OnPropertyChanged("ddjs"); } } } public string Ddjs;

public decimal dj { get { return this.Dj; } set { if (this.Dj != value) { this.Dj = value; OnPropertyChanged("dj"); } } } public decimal Dj;

public decimal hydj { get { return this.Hydj; } set { if (this.Hydj != value) { this.Hydj = value; OnPropertyChanged("hydj"); } } } public decimal Hydj;

public string lastdate { get { return this.Lastdate; } set { if (this.Lastdate != value) { this.Lastdate = value; OnPropertyChanged("lastdate"); } } } public string Lastdate;

#region INotifyPropertyChanged Members

public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

private void OnPropertyChanged(string propertyName)

{

System.ComponentModel.PropertyChangedEventHandler handler = this.PropertyChanged;

if (handler != null)

{

handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));

}

#endregion

public override void OnLoad()

{

base.OnLoad();

}

public override void Deallocate()

{

base.Deallocate();

}

}

3: 创建数据库

public static Database db;

应用程序开启时打开数据库

Storage instanse = StorageFactory.Instance.CreateStorage();             //初始化数据库文件为1M

instanse.SetProperty("perst.file.extension.quantum", 512 * 1024);             //数据库大小不够时,每次增加512K

instanse.SetProperty("perst.extension.quantum", 512 * 1024);

instanse.Open("demo.dbf");

db = new Database(instanse);

应用程序关闭时关闭数据库连接

db.Storage.Close();

4 常用的方法有:

//检索:

List<PrintData_H> pp = App.db.Select<PrintData_H>(p => (p.bigAccountDataId == y.bigAccountDataId)).ToList();
List<City> list = App.db.Select<City>("order by CityNum").ToList();

// 新增
 App.db.AddRecord(x);
 App.db.Storage.Commit();

// 修改
x.Store();
 App.db.UpdateFullTextIndex(x);

// 删除
 App.db.DeleteRecord(x);
 App.db.Storage.Commit();

Perst常用命令的更多相关文章

  1. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  2. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  3. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  6. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  7. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  8. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  9. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

随机推荐

  1. mysql学习(1)-linux操作系统源码包安装

    背景: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.22. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...

  2. ABAP POPUP函数

    POPUP_TO_CONFIRM_LOSS_OF_DATA 弹出一个对话框告知用户有可能丢失数据,询问是否操作继续.POPUP_TO_CONFIRM_STEP 弹出一个对话框询问用户是否操作继续. P ...

  3. PHP图片裁剪_图片缩放_PHP生成缩略图

    在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多,每天更新大量图,靠人工PS处理是不现实的,那么有没有自动处理图片的程序了! ...

  4. RSA For PHP

    最近和一保险公司对接接口,对方要求RSA加密,并给一个*.jks的文件,网上搜索一番均无答案,最后在谷歌上偶然看到一个人说需要转成.pem进行读取,折腾一番直接上代码: /** * 获取RSA加密ke ...

  5. AngularJs自定义指令详解(4) - transclude

    transclude默认值为false,如果设置 transclude为true,那么相应地,必须在模板代码中加入ng-transclude指令. 先看个例子: <!DOCTYPE html&g ...

  6. extjs学习之Ext.selection.CheckboxModel

    Ext.onReady( function() { var store=Ext.create('Ext.data.Store', { storeId:'simpsonsStore', fields:[ ...

  7. 我所理解的SoC

    前阵子出去找工作,有的人不太理解,你们SoC有什么可做的,不就是找几个IP来搭积木嘛.你那个FPGA prototyping有什么可做的,不就是编一个镜像嘛. 正好,新项目,重新开始做一颗SoC.接下 ...

  8. EXCEL文件格式不匹配,或者已经损坏,除非信任来源

    修改注册表解决: .打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定 .找到注册表子项 HKEY_CURRENT_USER\Software\Micro ...

  9. php内核探索 [转]

    PHP内核探索:从SAPI接口开始 PHP内核探索:一次请求的开始与结束 PHP内核探索:一次请求生命周期 PHP内核探索:单进程SAPI生命周期 PHP内核探索:多进程/线程的SAPI生命周期 PH ...

  10. 在 iTunes content中创建新的版本时,出现构建版本后面没有加号。

    老项目升级时,提交版本时,ipa已经上传成功到APP store,但是构建版本后面一直都没有加号,等了一夜还是没有反应 后来苹果发来一封邮件,意思是,我需要在plist文件中添加一个NSMicroph ...