2013-05-23 2 views
-1

Я не знаю, что не так с моим кодом. Я пытаюсь сохранить информацию, вводимую пользователем в базе данных. Пожалуйста, помогите мне.SQLite Добавление информации в базу данных

Этот код, который передает всю информацию, введенную пользователем. Это в моей учетной записи.

Теперь, вот код в моем DatabaseAdapter, где должна быть передана вся информация.

public long saveUserInfo(String Lastname, String Firstname,String MiddleInitial,String Username,String Password) 
{ 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(Constants.DATABASE_COLUMN_FIRSTNAME, Firstname); 
    contentValues.put(Constants.DATABASE_COLUMN_LASTNAME, Lastname); 
    contentValues.put(Constants.DATABASE_COLUMN_MI, MiddleInitial); 
    contentValues.put(Constants.DATABASE_COLUMN_USERNAME, Username); 
    contentValues.put(Constants.DATABASE_COLUMN_PASSWORD, Password); 
    return dbSqlite.insert(Constants.DATABASE_TABLE_USER_NAME_WITH_USERNAME_PASSWORD, null, contentValues); 
} 

Я что-то не хватает? вот ошибка в моей LogCat

05-23 16:37:15.080: W/dalvikvm(18203): threadid=1: thread exiting with uncaught exception (group=0x402ac760) 
05-23 16:37:15.085: E/AndroidRuntime(18203): FATAL EXCEPTION: main 
05-23 16:37:15.085: E/AndroidRuntime(18203): java.lang.NullPointerException 
05-23 16:37:15.085: E/AndroidRuntime(18203): at com.example.customercare.SignUpActivity$1.onClick(SignUpActivity.java:65) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.view.View.performClick(View.java:3131) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.view.View$PerformClick.run(View.java:12035) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.os.Handler.handleCallback(Handler.java:587) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.os.Looper.loop(Looper.java:132) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at android.app.ActivityThread.main(ActivityThread.java:4123) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at java.lang.reflect.Method.invokeNative(Native Method) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at java.lang.reflect.Method.invoke(Method.java:491) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 
05-23 16:37:15.085: E/AndroidRuntime(18203): at dalvik.system.NativeStart.main(Native Method) 
+0

Вам необходимо научиться читать логарифм. У вас есть исключение NullPointerException, указанное в строке 65 «SignUpActivity.java». Проверьте эту строку, если все переменные, которые вы используете, хорошо инициализированы. –

+0

Что-то есть null, на com.example.customercare.SignUpActivity $ 1.onClick (SignUpActivity.java:65) ... как говорится. –

+0

из вашего кода, я бы предположил, что databaseAdapter имеет значение null ... – njzk2

ответ

0
java.lang.NullPointerException 

Пожалуйста, обеспечить ваш dbSqlite открывается.

1

Не знаю, где dbSqlite isitalized, Возможно, вы можете написать вот так.

//enter code here 
public void save(Person person){ 
    SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put("name", person.getName()); 
    values.put("phone", person.getPhone()); 
    values.put("amount", person.getAmount()); 
    db.insert("person", null, values); 
} 

Возможно, это может вам помочь.

0

Я добавил инициализацию dbSqlite.

public long saveUserInfo(String Lastname, String Firstname,String MiddleInitial,String Username,String Password) 
{ 
    dbSqlite = this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(Constants.DATABASE_COLUMN_FIRSTNAME, Firstname); 
    contentValues.put(Constants.DATABASE_COLUMN_LASTNAME, Lastname); 
    contentValues.put(Constants.DATABASE_COLUMN_MI, MiddleInitial); 
    contentValues.put(Constants.DATABASE_COLUMN_USERNAME, Username); 
    contentValues.put(Constants.DATABASE_COLUMN_PASSWORD, Password); 
    return dbSqlite.insert(Constants.DATABASE_TABLE_USER_NAME_WITH_USERNAME_PASSWORD, null, contentValues); 
} 
+0

спасибо @MDMalik Я инициализирую dbSqlite, но я не могу использовать java.lang.NullPointerException. Честно говоря, я не знаю, как :(Помогите мне пожалуйста ... – dolphinately

+0

@ dolphinately просто убедитесь, что ваш код достигает функциональности адаптера. Вы можете сделать это, используя 'Log.i' и просмотрев его в' LogCat' так, чтобы вы знаю, где именно это сбой – MDMalik

+0

спасибо! это уже нормально :) – dolphinately

Смежные вопросы