2 cairunbo cairunbo 于 2016.04.28 18:05 提问

关于安卓的SQLite问题

大神好,小弟学习时遇到这个问题,不知道该怎么解决
图片说明
我是想要在一个Fragment页面里动态加载ListView,写了一个自定义的Adapter
在 onActivityCreated里面写了
adapter=new FragmentRecordAdapter(this,start, end);
listView_data.setAdapter(adapter);

在Adapter里面写了
public class FragmentRecordAdapter extends BaseAdapter {
AddDAO2 adao;
FragmentRecord f;
Cursor cursor;

public FragmentRecordAdapter(FragmentRecord fragmentRecord, String start,String end) {
    // TODO Auto-generated constructor stub
    this.f=fragmentRecord;
    adao = new AddDAO2(f);
    cursor = adao.queryAllDetail(start, end);
}

@Override
public int getCount() {
    return cursor.getCount();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@SuppressLint("InflateParams") 
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view = null;
    if (convertView != null) {
    view = convertView;//复用了回收的view 只需要直接作内容填充的修改就好了
    } else {
    view = LayoutInflater.from(null).inflate(R.layout.f_record_detail_lv_item_2, null);
    //没有供复用的view 按一般的做法新建view
    TextView tv01 = (TextView) view.findViewById(R.id.tv01);
    TextView tv02 = (TextView) view.findViewById(R.id.tv02);
    TextView tv03 = (TextView) view.findViewById(R.id.tv03);
    TextView tv04 = (TextView) view.findViewById(R.id.tv04);
    cursor.moveToPosition(position);
    tv01.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.SportType)));
    tv02.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.FitnessPart)));
    tv03.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.FitnessContent)));
    tv04.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.Time)));
    }
    return view;
}

}
在AddDAO2里面:
public class AddDAO2 {
SQLiteDatabase db;

public AddDAO2(FragmentRecord f) {
    // TODO Auto-generated constructor stub
    db = new ActionDataHelper(null, f).getWritableDatabase();
}

想不明白该怎么解决,求大神帮助!谢谢

2个回答

bealing
bealing   Rxr 2016.04.28 18:31
已采纳

我看你的log,错误的地方已是insert语句add附近,add是SQLite的关键字,你用add作为表名,存在歧义,建议将表名换成合适的

cairunbo
cairunbo 额额,不好意思,图片弄错了
大约 2 年之前 回复
dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.29 15:31

建议使用GreenDao框架

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
安卓SQLite数据库例程
关于安卓的SQLite数据库基本操作的例程。
Android面试整理之SQLite数据库——sql语句和常用函数(二)
上一篇文章以一些具体的面试题为例,例举了SQLite中一些常见的核心函数,下面对其整理说明,同时加入了其他一些函数。 Ps:SQLite中的许多内置函数大多用于处理字符串或数字数据,所有的函数都是大小写不敏感的,也就是说,我们可以使用这些函数的大写形式、小写形式或混合形式。下面说明时以小写为例。      Android面试整理之SQLite数据库——sql语句和常用函数(一)  
Android SQLite数据库的详细使用
SQLite 简介SQLite 是一款内置到移动设备上的轻量型的数据库,是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式系统中SQLite 数据库是无类型的,可以向一个integer 的列中添加一个字符串,但它又支持常见的类型比如:NULL,VARCHAR, TEXT, INTEGER, BLOB, CLOB 等Android 系统内置了SQLite,并提供了一系
前段时间写了个密码管理的小程序,写出来分享一下,主要是利用Android的sqlite进行数据存储
写完发现代码有点多,各位提前给各位看官预警。。首先创建sqlite数据库:我创建了一个用户表和一个密码表package mountain_hua.pwd; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenH...
Android之Sqlite升级
在实际开发当中,可能会遇到这种情况:当APP的一个新版本上线,需要本地Sqlite数据库表增加一个字段,老用户如何不卸载重装,则会崩溃。
关于unity3d在android下读取SQLite
其实本人找了下   看的是  雨松MOMO大大的教程 http://www.xuanyusong.com/archives/1454  但是pc成功 android失败 看了下面的评论结合自己查的资料得出了以下方法  预编译下android环境 #if UNITY_ANDROID         IEnumerator Start()     { string appDBPath =
安卓SQLite实例
安卓 SQLite 开发 简单实例用于初学者参考 安卓 SQLite 开发 简单实例用于初学者参考安卓 SQLite 开发 简单实例用于初学者参考 安卓 SQLite 开发 简单实例用于初学者参考安卓 SQLite 开发 简单实例用于初学者参考 安卓 SQLite 开发 简单实例用于初学者参考安卓 SQLite 开发 简单实例用于初学者参考 安卓 SQLite 开发 简单实例用于初学者参考
数据持久化(SQLite数据库存储)
Android 系统提供了三种方式来实现数据持久化,即文件存储、SharedPreference 存储、数据库存储。本文主要介绍数据库存储方式,即 Android 内置的 SQLite 数据库。
通讯录增删改查demo
个人总结的通讯录操作的增删改查,里面包含两种progressdialog的用法,使用原生的和自定义的。没有具体的update方法,看完后我想你们自己应该可以写出来updata方法了,界面呢不是太好看,勿喷啊!删除和查询我添加了模糊操作功能,具体的操作可以看源码!!
android SQLite要注意的问题
SQL语句的拼接问题: 我们使用数据库的可视化的管理工具中使用SQL语句可以很方便的操作数据库,但是如果我们原封不动的把这些语句搬到android中,我们会发现这样是行不通的。 如果我们使用SQL语言来操作数据库的话我们应该注意单引号(‘’)和空格的使用,如果没有写,漏写否则会引起异常 例如:db.execSQL("create table " + TABLE_NAME + "