Mir Usmanov Ответов: 1

Пожалуйста, нужна помощь с android studio


Поэтому я решил создать приложение с базой данных sqlite. Затем поставьте кнопку Добавить, но когда вы нажмете на нее, у меня появится сообщение("приложение перестало работать"). Ниже я приведу подробности logcat:
03-04 11:35:09.210 17673-17673/com.a00003454.tyreshopapp E/AndroidRuntime: FATAL EXCEPTION: main
                                                                           Process: com.a00003454.tyreshopapp, PID: 17673
                                                                           java.lang.RuntimeException: Unable to start activity ComponentInfo{com.a00003454.tyreshopapp/com.a00003454.tyreshopapp.AllTyresActivity}: android.database.sqlite.SQLiteException: near "table": syntax error (code 1): , while compiling: CREATE TABLE Tyre.table(ID INTEGER PRIMARY KEY AUTOINCREMENT, TyreBrand TEXT Size INTEGER Cost INTEGER );
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                               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)
                                                                            Caused by: android.database.sqlite.SQLiteException: near "table": syntax error (code 1): , while compiling: CREATE TABLE Tyre.table(ID INTEGER PRIMARY KEY AUTOINCREMENT, TyreBrand TEXT Size INTEGER Cost INTEGER );
                                                                               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.executeSql(SQLiteDatabase.java:1674)
                                                                               at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605)
                                                                               at com.a00003454.tyreshopapp.TyreDatabaseHelper.onCreate(TyreDatabaseHelper.java:33)
                                                                               at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
                                                                               at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
                                                                               at com.a00003454.tyreshopapp.TyreDatabaseHelper.select(TyreDatabaseHelper.java:59)
                                                                               at com.a00003454.tyreshopapp.AllTyresActivity.onCreate(AllTyresActivity.java:28)
                                                                               at android.app.Activity.performCreate(Activity.java:6237)
                                                                               at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                               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 11:35:12.643 17673-17673/com.a00003454.tyreshopapp I/Process: Sending signal. PID: 17673 SIG: 9


Что я уже пробовал:

Мне кажется, что есть проблема с SQL-оператором, и я пытался изменить его много раз, но безрезультатно, и вот он:
String sql = "CREATE TABLE " + Table_Name + "(" +
               COL_1 + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
               COL_2 + " TEXT " +
               COL_3 + " INTEGER " +
               COL_4 + " INTEGER " +
               ");";

1 Ответов

Рейтинг:
5

Peter Leow

Проверить это: Начало работы с SQLite на Android[^]. Кстати, в sql отсутствуют запятые между cols, например

CREATE TABLE contact (
  id integer PRIMARY KEY,
  first_name text,
  last_name text, 
  email text 
);


Mir Usmanov

Эй, Питер, большое спасибо за твою ссылку. По правде говоря, я хотел создать базу данных crud sqlite с возможностью помещать данные в listview. Есть ли у вас какой-нибудь способ помочь мне с этим или дать ссылку на некоторые видео или что-то в этом роде?

Peter Leow

Это новый вопрос, поэтому опубликуйте его как новый вопрос с вашим кодом и любыми проблемами при реализации listview.