請幫我找到我的代碼中的問題。我試圖檢查用戶是否輸入了有效的電子郵件地址,以及它是否已經存在。如果用戶通過某些格式輸入了無效的電子郵件地址,我已經陷入困境,我已經檢查過電子郵件是否存在,並且我的問題是用戶輸入新的有效電子郵件地址時,我的應用程序崩潰了。這裏是我的代碼:數據庫中的錯誤
else if (!Email.equals(""))
{
if(Email.equals(storedEmail)) //Check if the email address already exist
{
Toast.makeText(getApplicationContext(), "Email address already exist.",Toast.LENGTH_LONG).show();
}
else if (!matcherObj.matches()) //it will check if the user enter valid email
{
Toast.makeText(getApplicationContext(), "Invalid email address.",Toast.LENGTH_LONG).show();
txtEmail.setText("");
}
else // if the email address is not existing and is valid it will save to the database
{
db.Register(newPatientInfo(Fname,Mname,Lname,Suffix,Birthday,Homeno,MobileNo,Email,Brgy,Province,CityMun,Zip,CFname,CLname,DClinic,DClinicAdd));
Toast.makeText(getApplicationContext(),"Saved!", Toast.LENGTH_LONG).show();
Clear();
}
}
這裏是我在我的數據庫處理器的代碼
public String Patient_Emailexist(String p_email)
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.query(TABLE_PATIENT, null, PATIENT_EMAIL + "=?", new String[]{String.valueOf(p_email)},null, null, null);
if (c == null)
{
c.moveToFirst();
}
c.moveToFirst();
String patient_email = c.getString(c.getColumnIndex(PATIENT_EMAIL));
return patient_email;
}
我的應用程序崩潰時,我輸入應該是保存在一個有效的和新的電子郵件地址數據庫。提前致謝!
錯誤發現
10月5日至17日:27:17.410:E/AndroidRuntime(678):致命異常:主10月5日至17日:27:17.410:E/AndroidRuntime(678):android.database。 CursorIndexOutOfBoundsException:請求索引0,大小爲0 05-17 10:27:17.410:E/AndroidRuntime(678):at android.database.AbstractCursor.checkPosition(AbstractCursor.java:418)05-17 10:27:17.410 :E/AndroidRuntime(678):在android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)05-17 10:27:17.410:E/AndroidRuntime(678):在android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor。 java:50)05-17 10:27:17.410:E/AndroidRuntime(678):at com.example.palsproject.DatabaseHandler.Patient_Emailexist(DatabaseHandler.java:353)05-17 10:27:17.410:E/AndroidRuntime 67 8):at com.example.palsproject.PatientRegistration $ 1.onClick(PatientRegistration.java:95)05-17 10:27:17.410:E/AndroidRuntime(678):at android.view.View.performClick(View.java: 4084)05-17 10:27:17.410:E/AndroidRuntime(678):at android.view.View $ PerformClick.run(View.java:16966)05-17 10:27:17.410:E/AndroidRuntime(678) :at android.os.Handler.handleCallback(Handler.java:615)05-17 10:27:17.410:E/AndroidRuntime(678):at android.os.Handler.dispatchMessage(Handler.java:92)05-17 10:27:17.410:E/AndroidRuntime(678):在android.os.Looper.loop(Looper.java:137)05-17 10:27:17.410:E/AndroidRuntime(678):在android.app.ActivityThread .main(ActivityThread.java:4745)05-17 10:27:17.410:E/AndroidRuntime(678):at java.lang.reflect.Method.invokeNative(Native Method)05-17 10:27:17.410:E/AndroidRuntime(678):在java.lang.reflect.Method.invoke(Method.java:511)05-17 10:27:17.410:E/AndroidRuntime(678):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run(ZygoteInit.java:786)05-17 10:27: 17.410:E/AndroidRuntime(678):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)05-17 10:27:17.410:E/AndroidRuntime(678):at dalvik.system.NativeStart 。主要(本地方法)
什麼錯誤信息,你得到什麼? – girasquid
我怎麼知道?對不起,我只是使用eclipse的新功能。在運行應用程序並測試它是否會捕獲錯誤的輸入後,吐司會彈出說我輸入了無效的電子郵件或者電子郵件已存在的問題,但如果我新的和有效的電子郵件添加應用程序崩潰,說我的項目已停止。 – dolphinately