鍍金池/ 問(wèn)答/Java  Android  數(shù)據(jù)庫(kù)/ 在寫Android用戶界面的時(shí)候無(wú)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫,可是SQL語(yǔ)句并沒有寫錯(cuò)是

在寫Android用戶界面的時(shí)候無(wú)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫,可是SQL語(yǔ)句并沒有寫錯(cuò)是什么原因?

我在寫Android用戶界面的時(shí)候無(wú)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫,每次點(diǎn)擊注冊(cè)按鈕添加數(shù)據(jù)的時(shí)候應(yīng)用都會(huì)自動(dòng)關(guān)閉,只有應(yīng)用運(yùn)行之后root一下模擬器才可以看到數(shù)據(jù)庫(kù)文件,但是數(shù)據(jù)庫(kù)文件下載下來(lái)打開是亂碼,無(wú)法辨別。我嘗試運(yùn)行過(guò)不同需要操作數(shù)據(jù)庫(kù)的項(xiàng)目都是報(bào)的類似錯(cuò)誤,還請(qǐng)各位大佬看看有啥辦法?下面是錯(cuò)誤信息

10-31 12:55:13.685 2098-2876/? W/ErrorProcessor: onFatalError, processing error from engine(4)
                                                 com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream
                                                     at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342)
                                                     at com.google.android.apps.gsa.staticplugins.recognizer.i.a$1.run(SourceFile:1367)
                                                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                     at java.lang.Thread.run(Thread.java:761)
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85)
                                                  Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space.
                                                     at com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531)
                                                     at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555)
                                                     at java.io.InputStream.read(InputStream.java:101)
                                                     at com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362)
                                                     at com.google.android.apps.gsa.speech.audio.ak$1.run(SourceFile:471)
                                                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)?
                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)?
                                                     at java.lang.Thread.run(Thread.java:761)?
                                                     at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85)?
10-31 12:55:56.287 2912-2912/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.demo.sqllite2, PID: 2912
                                                 android.database.sqlite.SQLiteException: near "tableUsers": syntax error (code 1): , while compiling: Create tableUsers (_id integer primary key autoincrement,username text,userpassword text);
                                                     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
                                                     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
                                                     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:1677)
                                                     at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1608)
                                                     at com.demo.sqllite2.dbHelper.onCreate(dbHelper.java:30)
                                                     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
                                                     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
                                                     at com.demo.sqllite2.dbHelper.insert(dbHelper.java:42)
                                                     at com.demo.sqllite2.ManagerUser.createAccount(ManagerUser.java:63)
                                                     at com.demo.sqllite2.ManagerUser.access$000(ManagerUser.java:13)
                                                     at com.demo.sqllite2.ManagerUser$1.onClick(ManagerUser.java:38)
                                                     at android.view.View.performClick(View.java:5637)
                                                     at android.view.View$PerformClick.run(View.java:22429)
                                                     at android.os.Handler.handleCallback(Handler.java:751)
                                                     at android.os.Handler.dispatchMessage(Handler.java:95)
                                                     at android.os.Looper.loop(Looper.java:154)
                                                     at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
回答
編輯回答
陌如玉

CREATE TABLE Users 而不是 create tableUsers,強(qiáng)烈建議你所有的sql 遇見的 關(guān)鍵字都是大寫,這樣出現(xiàn)問(wèn)題一目了然

2017年3月21日 03:15
編輯回答
硬扛

SQL語(yǔ)句create table后面少了一個(gè)空格

2017年12月14日 22:36
編輯回答
櫻花霓

貌似 SQL 語(yǔ)句 tableUsers 中間少了一個(gè)空格。

2017年6月13日 00:38