sqlite-安卓中使用SQlite报错

问题描述

安卓中使用SQlite报错

创建一个数据库,根据返回值设置textView值。然后报错:"SYNTAX ERROR(code1) "

代码:

package com.example.dbex;
import java.sql.SQLOutput;
import java.sql.SQLPermission;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHandler extends SQLiteOpenHelper {
    public static final int DATABASE_VERSION=1;
    public static final String DATABASE_NAME="contactsmanager";
    public static final String TABLE_CONTACTS="contacts";
    public static final String KEY_ID="id";
    public static final String KEY_NAME="name";
    public static final String KEY_NUMBER="number";
    public DBHandler(Context context) {
        super(context,DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        String CREATE_TABLE_CONTACTS="CREATE TABLE"+TABLE_CONTACTS+"("+KEY_ID+"INTEGER PRIMARY KEY,"+KEY_NAME+"TEXT,"+KEY_NUMBER+"TEXT"+")";
        db.execSQL(CREATE_TABLE_CONTACTS);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS"+TABLE_CONTACTS);
        onCreate(db);
    }
    public void addContact(Contacts contacts)
    {
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(KEY_NAME, contacts.getname());
        values.put(KEY_NUMBER, contacts.getnumber());
        db.insert(TABLE_CONTACTS,null,values);
        db.close();
    }
    public Contacts getContact(int id)
    {
        SQLiteDatabase db=this.getReadableDatabase();
        Cursor c=db.query(TABLE_CONTACTS, new String[]{KEY_ID,KEY_NAME,KEY_NUMBER},KEY_ID+"=?",new String[]{String.valueOf(id)}, null, null, null, null);
        if(c!=null)
        {
            c.moveToFirst();
        }
        Contacts contacts=new Contacts(Integer.parseInt(c.getString(0)),c.getString(1),c.getString(2));
        return contacts;
    }
    public void deleteContact(Contacts contacts)
    {
        SQLiteDatabase db=this.getWritableDatabase();
        db.delete(TABLE_CONTACTS, KEY_ID+"=?", new String[]{String.valueOf(contacts.getID())});
        ``db.close();
    }
}
时间: 2024-08-03 17:35:33

sqlite-安卓中使用SQlite报错的相关文章

sqlite-如何安卓中使用SQLite的进行日期排序

问题描述 如何安卓中使用SQLite的进行日期排序 新手问题 当我的数据改变时 我能够向SQLite中插入时间 解决方案 最后能取出按照时间排序的数据,就像历史记录那样 解决方案二: 安卓中SQLite数据库的使用安卓中SQLite的简单使用

软件开发-安卓,baseadapter,报错,求指教

问题描述 安卓,baseadapter,报错,求指教 logcat如下:开发-安卓,baseadapter,报错,求指教-安卓baseadapter"> content_main: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

arcgis-ae+c#中返回距离函数报错

问题描述 ae+c#中返回距离函数报错 IFeatureLayer aFL = axMapControl1.Map.get_Layer(0) as IFeatureLayer; IFeatureLayer bFL = axMapControl1.Map.get_Layer(1) as IFeatureLayer; IFeatureClass aFClass = aFL.FeatureClass; IFeatureCursor aFC = aFClass.Search(null, true); I

c语言-把数组中的元素 循环的作为函数中的参数 报错!

问题描述 把数组中的元素 循环的作为函数中的参数 报错! 把数组中的元素 循环的作为函数中的参数 怎么会报错 麻烦前辈帮忙看看 #include<stdio.h>int ShowNumber();int main (){ int number[10]; int i ; //循环变量 //随便为number数组赋值 for(i=0;i<10;i++)// i=0 1 2 3 4 5 6 7 8 9 { number[i]=i; } for(i=0;i<10;i++) { ShowNu

android中应用编译报错

问题描述 android中应用编译报错 一个带下拉列表的应用,在编译的时候报错: The constructor ArrayAdapter(LayoutNext, int, String[]) is undefined 不知道应该怎么解决? 我的实现代码: public class LayoutNext extends Fragment implements OnClickListener,OnItemSelectedListener{ TimePicker timepicker; privat

post请求-Post请求方式在地址栏中敲回车报错

问题描述 Post请求方式在地址栏中敲回车报错 Spring mvc中表单以post方式提交后将数据带到新的页面,但是在浏览器地址栏中敲回车的时候报错,地址栏回车属于get方式,请问这种情况如何避 解决方案 不指定请求访问方式不就可以了么 解决方案二: post 方式,不是get,给你个post工具 谷歌浏览器一样post测试 postman 解决方案三: post方式只能设计一个表单,一个提交按钮,才可以.浏览器输入地址,是get 解决方案四: 不知道题主的困惑在哪个地方,是想要调试post的

myeclipse中启动tomcat报错

问题描述 myeclipse中启动tomcat报错 在myeclipse中启动tomcat时报错,不知道怎么解决,请网友指点:报错信息如下Deployment is out of date due to changes in the underlying project contents.You'll need to 'Redeploy' the project to update the deployed archive; 警告提示是:构建路径指定执行环境 JavaSE-1.6.工作空间中没有

select-存储过程中SELECT赋值报错什么原因?

问题描述 存储过程中SELECT赋值报错什么原因? CREATE OR REPLACE PROCEDURE PROC_DICTABLE_TBYSFL(p_ANetUser VARCHAR)ISvc_DICTABLEID varchar2(36);vc_DICTABLECOLID varchar2(36);vc_DICCOL1 VARCHAR2(20);vc_DICCOL2 VARCHAR2(20);vc_DICCOL3 VARCHAR2(20);vc_DICCOL4 VARCHAR2(20);v

ndk ndroid tudio jni-AndroidStudio中开发ndk报错,求助!!!

问题描述 AndroidStudio中开发ndk报错,求助!!! D:workspacesAndroidProjectsGISpeechappsrcmainjniHTKLibexcpt.h:20:21: fatal error: crtdefs.h: No such file or directory #include <crtdefs.h> as 的项目中使用ndk 开发,其中有些 c 文件中引用了一些 系统平台下的 h 文件,在 vs2010 中可以调通,但是加入到 jni 中就报错,请问

c c++-析构函数中使用delete报错

问题描述 析构函数中使用delete报错 把析构函数里的delete去掉就不会报错了:但是搞不懂:我的构造函数里不是用了new吗,为什么会出现这种情况? 报错信息是:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse),网上查了一下都说是重发调用delete的结果,但是我好像没有那么做. //Matrix.h class Matrix { public: Matrix(); ~Matrix(); Matrix(int,double*); //矩阵行列数.数组指针 Matr