2015-10-05 30 views
-1

我正在创建一个需要登录的应用程序。我创建了主要和登录activity.so当我插入用户名和密码它应该保存到数据库。 我在安装应用程序时遇到这些错误。将数据放入android数据库时出错

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"); 
    } 
} 
+1

实际的例外是不是在您的文章。我相信某些部分的异常输出缺失。顺便说一句,它似乎你不要从PutInformation创建。所以你不应该从我的意见 – Adem

+0

这个代码中得到这样的例外,所以我必须做出什么改变? –

+0

@Adem你的意思是说,我不是调用onCreate()方法,而是自动执行,所以它不需要被称为形式PutInformation()。 –

回答

0

当你创建你必须添加列_id Integer primary key表。

+1

其实你没有。你应该,因为使用CursorAdapter会更容易,但这不是必需的。 – njzk2

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 
+0

Thanx.That为我工作。 –