Android SQLite 加入自定义函数

SQLite Database 自定义函数实现:

//Here‘s how to create a function that finds the first character of a string.

static void firstchar(sqlite3_context *context, int argc, sqlite3_value **argv) {
    if (argc == 1) {
        char *text = sqlite3_value_text(argv[0]);
        if (text && text[0]) {
          char result[2];
          result[0] = text[0]; result[1] = ‘\0‘;
          sqlite3_result_text(context, result, -1, SQLITE_TRANSIENT);
          return;
        }
    }
    sqlite3_result_null(context);
}

//Then attach the function to the database.

sqlite3_create_function(db, "firstchar", 1, SQLITE_UTF8, NULL, &firstchar, NULL, NULL);

//Finally, use the function in a sql statement.

//SELECT firstchar(textfield) from table

备注:aHR0cCUzQS8vd3d3LmNuYmxvZ3MuY29tL3poaGQv

参考代码:AOSP/external/sqlite/android/sqlite3_android.cpp

参考链接:http://stackoverflow.com/questions/7867099/how-can-i-create-a-user-defined-function-in-sqlite

参考链接:http://www.cnblogs.com/imouto/archive/2013/06/14/how-to-add-user-defined-functions-for-sqlite.html

时间: 2024-10-07 18:52:27

Android SQLite 加入自定义函数的相关文章

【Android基础】Android SQLite存储自定义对象

Android SQLite存储自定义对象 在SQLite数据库中可存储的数据类型有NULL.INTEGER.REAL(浮点型).TEXT.BOOL,一共是五种数据类型.在Android开发中,我们存储数据的一般的作法是数据库的属性就是类的成员变量,比如: 要存储一个人的姓名和年龄,在类中的是将它们定义为两个成员变量 class Person{ private String name; private int age; } 数据库中是将它们存储为两个字段 - name TEXT - age IN

FireDAC 下的 Sqlite [8] - 自定义函数

Sqlite 本身没有这个功能, FireDAC 通过 TFDSQLiteFunction 增加了该功能; 尽管通过某些 SQL 语句或通过视图也可以达到类似效果, 但函数会更灵活些.本例先建了一个成绩表, 然后通过两个 TFDSQLiteFunction 实现了 "总分" 与 "平均分" 的计算. 你可以复制下面文本框中的内容, 然后直接往窗体上贴, 以快速完成窗体设计:object DBGrid1: TDBGrid Left = 8 Top = 88 Width

java sqlite配置和自定义函数

资源 jetty Jetty Downloads地址 sqlite sqlite JDBC Driver 地址:bitbucket代码托管 和 Github代码托管 jetty配置sqlite 在jetty里的配置(工程MWeb为例) /MWeb/WebContent/WEB-INF/jetty-web.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Configure PUBLIC &q

Android Sqlite的操作

1.写一个类继承SQLiteOpenHelper public class MyHelper extends SQLiteOpenHelper { public MyHelper(Context context) { super(context, Const.DB_DBNAME , null, Const.DB_VERSION); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteData

java mysql自定义函数UDF之调用c函数

正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. google "mysql call c function"发现一片文章 MySQL User Defined Functions  This tutorial explains what an User Defined Function (UDF) is, what it does and w

Android SQLite的使用,基本的增删改查效果,以及ListView的效果显示

1 package com.example.sqlitetest; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import android.content.ContentValues; 6 import android.content.Context; 7 import android.database.Cursor; 8 import android.database.sqlite.SQLiteDatabase; 9

Android+Sqlite 实现古诗阅读应用(二)

传送门:Android+Sqlite 实现古诗阅读应用(一):http://www.cnblogs.com/lfk-dsk/p/4492974.html Hi,又回来了,最近接到很多热情洋溢的小伙伴们的来信,吼开心哈,我会继续努力的=-=! 上回的东西我们做到了有个textview能随机选择诗来进行显示,这也是我做这个东西的初衷,我想找我到底有哪些古诗没有读过,更想感受一下风吹哪页看哪页的闲适(扯远了=-=!),所以功能现在差不多算是结束了, 不过一个古诗应用这么丑可不行,还有就是,我找到了我要

Android SQLite总结(一)

前言 对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取.下面就向大家介绍一下SQLite常用的操作方法.本篇文章主要用到SQLiteDatabase的一些函数.废话少说,直接贴代码!由于数据库中操作的对象时Student类,因此我们看一下Student.java代码: [java]   view plain copy <EMBED id=ZeroClipboardMovie_1 name=ZeroClipboardMovie_1 ty

Android SQLite最简单demo实现(增删查改)

本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍,希望写出这么一篇博文来记录SQLite的最基本操作,同时也希望能够对android的新手们有些帮助. 参考博客:http://www.20864.com/201247/274.html 这里只是一个示范性的demo,并没实现什么具体功能,只实现了对数据库的增删查改操作. 以下是实现demo的步骤: