Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有logcat的Android SQLite错误_Android_Sqlite - Fatal编程技术网

带有logcat的Android SQLite错误

带有logcat的Android SQLite错误,android,sqlite,Android,Sqlite,我的sqlite代码有这个错误,但我不知道该怎么处理,因为我是初学者。这是我的日志,任何帮助都将不胜感激。我可以粘贴更多的代码,如果你想 我的应用程序只是将联系人添加到数据库中 09-28 06:21:51.772: E/SQLiteLog(1564): (1) near "number": syntax error 09-28 06:21:51.803: E/SQLiteDatabase(1564): Error inserting mobile number=1233456 work add

我的sqlite代码有这个错误,但我不知道该怎么处理,因为我是初学者。这是我的日志,任何帮助都将不胜感激。我可以粘贴更多的代码,如果你想

我的应用程序只是将联系人添加到数据库中

09-28 06:21:51.772: E/SQLiteLog(1564): (1) near "number": syntax error
09-28 06:21:51.803: E/SQLiteDatabase(1564): Error inserting mobile number=1233456 work address= home number=7658678 home address=123 Fake Street first name=John email address=jsmith@gmail.com last name=Smith work number=54372 notes=
09-28 06:21:51.803: E/SQLiteDatabase(1564): android.database.sqlite.SQLiteException: near "number": syntax error (code 1): , while compiling: INSERT INTO contacts(mobile number,work address,home number,home address,first name,email address,last name,work number,notes) VALUES (?,?,?,?,?,?,?,?,?)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at com.example.contactmanager.DatabaseHandler.addContact(DatabaseHandler.java:80)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at com.example.contactmanager.NewContactActivity$1.onClick(NewContactActivity.java:63)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.view.View.performClick(View.java:4240)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.view.View$PerformClick.run(View.java:17721)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.os.Handler.handleCallback(Handler.java:730)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.os.Handler.dispatchMessage(Handler.java:92)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.os.Looper.loop(Looper.java:137)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at android.app.ActivityThread.main(ActivityThread.java:5103)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at java.lang.reflect.Method.invokeNative(Native Method)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at java.lang.reflect.Method.invoke(Method.java:525)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-28 06:21:51.803: E/SQLiteDatabase(1564):     at dalvik.system.NativeStart.main(Native Method)
09-28 06:21:51.772:E/SQLiteLog(1564):(1)靠近“number”:语法错误
09-28 06:21:51.803:E/SQLiteDatabase(1564):插入手机号码时出错=1233456工作地址=家庭号码=7658678家庭地址=123假街道名=约翰电子邮件地址=jsmith@gmail.com姓氏=史密斯工作编号=54372注释=
09-28 06:21:51.803:E/SQLiteDatabase(1564):android.database.sqlite.SQLiteException:靠近“数字”:语法错误(代码1):,编译时:插入联系人(手机号码、工作地址、家庭号码、家庭地址、名字、电子邮件地址、姓氏、工作号码、注释)值(?,,,,,,,,,,,?,,,,,,,?)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteConnection.acquiredpreparedstatement(SQLiteConnection.java:889)
09-28 06:21:51.803:E/SQLiteDatabase(1564):在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
09-28 06:21:51.803:E/SQLiteDatabase(1564):在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于com.example.contactmanager.DatabaseHandler.addContact(DatabaseHandler.java:80)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于com.example.contactmanager.NewContactActivity$1.onClick(NewContactActivity.java:63)
09-28 06:21:51.803:E/SQLiteDatabase(1564):在android.view.view.performClick(view.java:4240)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.view.view$PerformClick.run(view.java:17721)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.os.Handler.handleCallback(Handler.java:730)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.os.Handler.dispatchMessage(Handler.java:92)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.os.Looper.loop(Looper.java:137)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于android.app.ActivityThread.main(ActivityThread.java:5103)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于java.lang.reflect.Method.invokenactive(本机方法)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于java.lang.reflect.Method.invoke(Method.java:525)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-28 06:21:51.803:E/SQLiteDatabase(1564):位于dalvik.system.NativeStart.main(本机方法)
我不是在寻找一个非常具体的答案,我只是想知道我应该在哪里解决这个问题。谢谢


编辑:我加了下划线,但现在的错误是表contacts中没有home address列。

而不是
mobile number
如果您将字段名指定为
mobile\u number
(不要给空格)。可能存在这样的可能性,移动和数字可以被视为两个独立的字段

如果您将字段名指定为
mobile\u number
,而不是
mobile number
(不要指定空格)。可能存在这样的可能性,移动和数字可以被视为两个独立的字段

我想你需要在每一列之间使用a。我想你需要在每一列之间使用a。谢谢你的回复,我会做出改变,看看会发生什么。在android之外调试SQL查询更容易,你可以轻松地修改它们。很好的工具很好+1.我建议您使用适当的突出显示,而不是“”。谢谢您的回复,我将进行更改,看看会发生什么。在android之外调试SQL查询更容易,您可以轻松地修改它们。很好的工具很好+1.我建议您使用适当的突出显示而不是“”。