android 的sqlite 主键与simpleCursorAdapter
android 的sqlite 主键与simpleCursorAdapter
最近在在做一个小例子时,出现一个小问题,就是不能显示从数据库中查出的数据,后来在网上查了一查,才知道原来是这个问题。
在使用simpleCursorAdapter显示sqlite数据时,必须注意sqlite的主键命名。由于simpleCursorAdapter的方法只识别_id,所以,当你用到sqlite的simpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现 java.lang.IllegalArgumentException: column ‘_id’ does not exist 错误。
下面是ActivityMain类 供大家参考 一下。
public class ActivityMain extends Activity {
private static int count =0;
//创建数据库对象
private SQLiteDatabase mSqliteDatabase=null;
//数据库名
private static final String DATABASE_NAME="gege.db";
//表名
private static final String TABLE_NAME="jiao";
//表中字段
private static final String TABLE_ID="_id";
private static final String TABLE_NUM="num";
private static final String TABLE_DATA="data";
//创建sqly语句
private static final String CREATE_TABLE=
"CREATE TABLE "+TABLE_NAME +"("+TABLE_ID+" INTEGER PRIMARY KEY," +
""+TABLE_NUM+" INTEGER,"+TABLE_DATA +" TEXT)";
//创建线性布局
LinearLayout m_LinearLayout =null;
//创建ListView列表视图
ListView m_ListView =null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
//创建linearLayout布局对象
m_LinearLayout=new LinearLayout(this);
//设置布局LinearLayout的属性
m_LinearLayout.setOrientat
相关文档:
1:从sqlite的官网上下载源码 http://www.sqlite.org/download.html
2:打开vs2008工程新建一个空的dll工程。
3:把sqlite3.h,sqlite3.cpp,sqlite3.def分别加入到head file 和source file下。
4:编译程序。 这时只能得到sqlite3.dll文件。
5:打开vs2008自带的命令行: 切到sqlite3.def所在的目录。
6:运行 ......
安装:
官方网站下载最新的sqlite版本
官方网站: http://www.sqlite.org/
下载地址为: http://www.sqlite.org/download.html
官方的下载页面提供了很多版本的下载…这里介绍一下;
Source Code: 源代码版本的下载
Documentation: 相关文档
Precompiled Binaries for Linux / Precompiled Binaries For Mac ......
内存数据库FastDB和SQLite性能测评
作者:tamsyn
来源:www.sqlite.com.cn
时间:2009-10-21
一、引言
在很多项目中,经常会碰到这样的需求,需要对大量数据进行快速存储、查询、删除等操作,特别是在一些针对诸如运营商、银行等大型企业的应用中,这些 ......
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
int i;
for (i = 0; i < n_values; ++i) {
printf("%10s", values[i]);
}
printf("\n& ......