我正在创建一个需要登录的应用程序。我创建了主要和登录activity.so当我插入用户名和密码时,它应保存到数据库中。 我在安装应用程序时遇到这些错误。
10-05 23:12:18.959 18728-18728/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:12:18.959 18728-18728/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:16:45.809 18970-18970/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:16:45.809 18970-18970/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:26:21.659 31040-31040/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:26:21.659 31040-31040/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:28:34.489 31330-31330/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:28:34.489 31330-31330/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:45:53.309 31935-31935/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:45:53.309 31935-31935/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:48:01.659 32267-32267/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:48:01.659 32267-32267/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-05 23:56:57.979 32571-32571/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:24)
10-05 23:56:57.979 32571-32571/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:33)
10-05 23:58:57.249 451-451/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-05 23:58:57.249 451-451/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-06 00:02:41.189 898-898/com.example.shoaib.myapplication E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-06 00:02:41.189 898-898/com.example.shoaib.myapplication E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-06 00:04:54.439 1175-1175/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-06 00:04:54.439 1175-1175/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-06 00:05:57.279 1426-1426/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-06 00:05:57.279 1426-1426/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
10-06 00:07:16.629 1733-1733/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.onCreate(DatabaseOperations.java:23)
10-06 00:07:16.629 1733-1733/? E/AndroidRuntime: at com.example.shoaib.myapplication.DatabaseOperations.PutInformation(DatabaseOperations.java:32)
这个是DatabaseOperations.java文件
package com.example.shoaib.myapplication;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/**
* Created by shoaib on 10/5/2015.
*/
public class DatabaseOperations extends SQLiteOpenHelper{
public static final int database_version=1;
public String CREATE_QUERY="CREATE TABLE "+tableData.tableInfo.TABLE_NAME+"("+tableData.tableInfo.USER_NAME+" TEXT, "+tableData.tableInfo.USER_PASS+" TEXT, );";
public DatabaseOperations(Context context) {
super(context, tableData.tableInfo.DATABASE_NAME, null, database_version);
Log.d("Database Operations","Database Created");
}
@Override
public void onCreate(SQLiteDatabase sdb) {
sdb.execSQL(CREATE_QUERY);
Log.d("Database Operations", "Table Created");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void PutInformation(DatabaseOperations dop,String name,String pass){
SQLiteDatabase SQ=dop.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(tableData.tableInfo.USER_NAME,name);
cv.put(tableData.tableInfo.USER_PASS, pass);
long k=SQ.insert(tableData.tableInfo.TABLE_NAME,null,cv);
Log.d("Database Operations","one row inserted");
}
}
答案 0 :(得分:1)
如果你查看logcat,你会看到异常名称和完整的堆栈跟踪:
Caused by: android.database.sqlite.SQLiteException: near ")": syntax error (code 1): , while compiling: CREATE TABLE table_name(username TEXT, pass TEXT, );
从查询中删除冗余的最后一个逗号:
CREATE TABLE table_name(username TEXT, pass TEXT, );
// ^ this one
答案 1 :(得分:0)
创建表格时,您必须添加列react-router
。