将数据放入android中的数据库时出错

时间:2015-10-05 20:24:44

标签: android

我正在创建一个需要登录的应用程序。我创建了主要和登录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");
    }
}

2 个答案:

答案 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