关于android数据库的问题

LYRIQ777 2016-01-24 11:08:13
报错:
01-24 15:08:36.437 2578-2578/com.example.administrator.database_test E/Trace﹕ error opening trace file: No such file or directory (2)
01-24 15:08:47.416 2578-2578/com.example.administrator.database_test E/SQLiteLog﹕ (1) near "Check": syntax error
01-24 15:08:47.446 2578-2578/com.example.administrator.database_test E/SQLiteDatabase﹕ Error inserting id=23456 time=12
android.database.sqlite.SQLiteException: near "Check": syntax error (code 1): , while compiling: INSERT INTO Check(id,time) VALUES (?,?)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
at com.example.administrator.database_test.DataBaseHelper.DB_Insert(DataBaseHelper.java:68)
at com.example.administrator.database_test.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)



代码:
package com.example.administrator.database_test;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;


public class DataBaseHelper {

private final static String DATABASE_NAME = "CheckOut_System.db";
public final static String TABLE_NAME = "Check";
public final static int DATABASE_VERSION = 1;
public final static String ID = "id";
public final static String TIME = "time";
private DataBaseCreate dataBaseCreate;

/*
private SQLiteDatabase read;
private SQLiteDatabase write;

private Context context;
*/



public DataBaseHelper(Context context){
dataBaseCreate = new DataBaseCreate(context);
}




private class DataBaseCreate extends SQLiteOpenHelper{


public DataBaseCreate(Context context) {
super(context, DATABASE_NAME, null,DATABASE_VERSION);
}

public void onCreate(SQLiteDatabase db) {
try {
String CreateTable = "CREATE TABLE" + TABLE_NAME + "(id integer primary key autoincrement , time integer)";
db.execSQL(CreateTable);
//db.execSQL("CREATE TABLE" + TABLE_NAME + "(id INTEGER PRIMARY KEY AUTOINCREMENT,time);");
} catch (SQLiteException e) {
e.printStackTrace();
}

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}



public void DB_Insert(String newid,String newtime) {
SQLiteDatabase db = dataBaseCreate.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("id",newid);
cv.put("time",newtime);
db.insert(TABLE_NAME, null, cv);
//String insert = "insert into" + TABLE_NAME + "(" + "time" + ") valuse ('time');";

//getWritableDatabase();
//db.execSQL("insert into" + TABLE_NAME + "(" + ID + "," + TIME + ") values(?,?)",new Object[]{newid,newtime});
db.close();
}


public void DB_Update(String id,String time){
SQLiteDatabase db = dataBaseCreate.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("time",time);
db.update(TABLE_NAME, cv, "id = ?", new String[]{id});
}
public void DB_Delete(){
}

public void DB_Close() {

}


public String Information(String id){
Cursor cursor;
String newid ="" ,time="";
cursor = dataBaseCreate.getReadableDatabase().rawQuery("select * from CheckOut_List where id=?", new String[]{id});
if (cursor.moveToNext()){
newid = cursor.getString(cursor.getColumnIndex("id"));
time = cursor.getString(cursor.getColumnIndex("time"));
}

//stu_inf.getInf(newid,time);
return time;

}
}



...全文
309 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LYRIQ777 2016-02-02
  • 打赏
  • 举报
回复
02-02 15:35:18.015 3163-3163/com.example.administrator.database_test E/Trace﹕ error opening trace file: No such file or directory (2) 02-02 15:35:22.155 3163-3163/com.example.administrator.database_test E/SQLiteLog﹕ (1) near "check": syntax error 02-02 15:35:22.185 3163-3163/com.example.administrator.database_test E/SQLiteDatabase﹕ Error inserting time=1 stuid=111 android.database.sqlite.SQLiteException: near "check": syntax error (code 1): , while compiling: INSERT INTO check(time,stuid) VALUES (?,?) at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) at com.example.administrator.database_test.DataBaseHelper.DB_Insert(DataBaseHelper.java:22) at com.example.administrator.database_test.MainActivity$1.onClick(MainActivity.java:39) at android.view.View.performClick(View.java:4204) at android.view.View$PerformClick.run(View.java:17355) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) package com.example.administrator.database_test; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; /** * Created by Administrator on 2016/2/2. */ public class DataBaseHelper { private DataBaseCreater dataBaseCreater; DataBaseHelper(Context context){ super(); dataBaseCreater = new DataBaseCreater(context); } public void DB_Insert(Integer id,Integer time){ SQLiteDatabase db = dataBaseCreater.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("stuid",id.toString()); contentValues.put("time",time.toString()); db.insert(DataBaseCreater.TABLE_NAME, null, contentValues); db.close(); } public void DB_Update(Integer id,Integer time){ SQLiteDatabase db = dataBaseCreater.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("time", time.toString()); db.update(DataBaseCreater.TABLE_NAME, contentValues, "stuid=?", new String[]{id.toString()}); db.close(); } /*public Integer DB_Find(Integer id){ return time; } */ }
LYRIQ777 2016-02-02
  • 打赏
  • 举报
回复
这是什么情况啊
LYRIQ777 2016-01-28
  • 打赏
  • 举报
回复
求大神指教,帖子不能沉啊
柒加伊 2016-01-28
  • 打赏
  • 举报
回复
String CreateTable = "CREATE TABLE" + TABLE_NAME + "(id integer primary key autoincrement , time integer)"; 你上面创建的是 int 类型的字段. public void DB_Insert(String newid,String newtime) 你 insert 的为什么是String 类型的 ?
superstar0013 2016-01-28
  • 打赏
  • 举报
回复
cv.put("id",newid); cv.put("time",newtime); 这俩变量在哪呢?
superstar0013 2016-01-28
  • 打赏
  • 举报
回复
还有你直接执行SQL语句就可以了,不需要用 ContentValues就行!

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧