在android studio中插入时出错 [英] Error inserting in android studio
本文介绍了在android studio中插入时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请大家帮忙。我无法将数据插入数据库这里是我的logcat:
Please guys need help. I can't insert data into database here is my logcat:
03-04 13:40:03.727 25642-25687/com.a00003454.tyreshopapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0xab12ca40
03-04 13:40:11.269 25642-25642/com.a00003454.tyreshopapp E/SQLiteLog: (1) near "table": syntax error
03-04 13:40:11.270 25642-25642/com.a00003454.tyreshopapp E/SQLiteDatabase: Error inserting Size=dvdvdvdvdv Cost=dvdv TyreBrand=dvdvdv
android.database.sqlite.SQLiteException: near "table": syntax error (code 1): , while compiling: INSERT INTO Tyre.table(Size,Cost,TyreBrand) VALUES (?,?,?)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:887)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:498)
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:1469)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
at com.a00003454.tyreshopapp.TyreDatabaseHelper.addTyre(TyreDatabaseHelper.java:43)
at com.a00003454.tyreshopapp.AddTyreActivity.AddData(AddTyreActivity.java:56)
at com.a00003454.tyreshopapp.AddTyreActivity$2.onClick(AddTyreActivity.java:45)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-04 13:40:11.358 25642-25687/com
我的代码:
package com.a00003454.tyreshopapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by user on 04.03.2017.
*/
public class TyreDatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME="Tyre.db";
public static final String TABLE_NAME="Tyre.table";
public static final String COL_1="ID";
public static final String COL_2="TyreBrand";
public static final String COL_3="Size";
public static final String COL_4="Cost";
public TyreDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = ("CREATE TABLE Tyre (ID INTEGER PRIMARY KEY AUTOINCREMENT, TyreBrand TEXT Size INTEGER Cost INTEGER )");
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" DROP TABLE IF EXISTS Tyre");
onCreate(db);
}
public boolean addTyre(String tyreBrand, String size, String cost ) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, tyreBrand);
contentValues.put(COL_3, size);
contentValues.put(COL_4, cost);
long result = db.insert(TABLE_NAME, null, contentValues);
if (result == -1) {
return false;
} else {
return true;
}
}
public Cursor select() {
SQLiteDatabase db =this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM Tyre",null);
return data;
}
}
我的尝试:
我觉得我在使用sql语句时遇到了麻烦,并尝试多次更改但没有结果
What I have tried:
I think I have troubles with sql statements and tried to change then numerous times but no result
推荐答案
2.onClick(AddTyreActivity.java:45)
在android.view.View.performClick(View.java:5198)
在android.view.View
2.onClick(AddTyreActivity.java:45) at android.view.View.performClick(View.java:5198) at android.view.View
PerformClick.run(View.java:21147)
在android.os.Handler.handleCallback(Handler.java:739)
在android.os.Handler.dispatchMessage(Handler.java:95)
在android.os.Looper.loop(Looper.java:148)
在android.app.ActivityThread.main(ActivityThread.java:5417)
在java.lang.reflect.Method.invoke (原生方法)
at com.android.internal.os.ZygoteInit
PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit
MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:616)
03-04 13:40:11.358 25642-25687 / com
MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 03-04 13:40:11.358 25642-25687/com
我的代码:
package com.a00003454.tyreshopapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by user on 04.03.2017.
*/
public class TyreDatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME="Tyre.db";
public static final String TABLE_NAME="Tyre.table";
public static final String COL_1="ID";
public static final String COL_2="TyreBrand";
public static final String COL_3="Size";
public static final String COL_4="Cost";
public TyreDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = ("CREATE TABLE Tyre (ID INTEGER PRIMARY KEY AUTOINCREMENT, TyreBrand TEXT Size INTEGER Cost INTEGER )");
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" DROP TABLE IF EXISTS Tyre");
onCreate(db);
}
public boolean addTyre(String tyreBrand, String size, String cost ) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, tyreBrand);
contentValues.put(COL_3, size);
contentValues.put(COL_4, cost);
long result = db.insert(TABLE_NAME, null, contentValues);
if (result == -1) {
return false;
} else {
return true;
}
}
public Cursor select() {
SQLiteDatabase db =this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM Tyre",null);
return data;
}
}
我的尝试:
我觉得我在使用sql语句时遇到了麻烦,并试图多次改变但没有结果
What I have tried:
I think I have troubles with sql statements and tried to change then numerous times but no result
这篇关于在android studio中插入时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文