问题描述
- 安卓中使用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