2016-03-29 17 views
0

私はアンドロイドを初めて使っています。私はテーブルを作成しようとしている、レコードを追加し、コードが下に与えられているレコードをチェックしています。問題は、TABLE_LOGINという名前のテーブルが作成され、チェックがテーブル上でうまく動作していることですが、2番目のテーブルTABLE_REGはLogcatで指定されたとおりに作成されません。SQLiteOpenHelperを使用してテーブルを作成しようとしています

データベースヘルパー:

package com.intraharyana.tamber.intraharyana; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class DatabaseHelper extends SQLiteOpenHelper{ 
public static final String DATABASE_NAME="NIC.db"; 
public static final String TABLE_LOGIN ="employee_login"; 
public static final String LOGIN_COL_1 ="USER_ID"; 
public static final String LOGIN_COL_2 ="PASSWORD"; 
public static final String TABLE_REG="employee_info"; 
public static final String REG_COL_1="SALARY_ACC"; 
public static final String REG_COL_2="DOB"; 
public static final String REG_COL_3="DOJ"; 

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, 1); 
    SQLiteDatabase db=this.getWritableDatabase(); 
    ContentValues contentValues= new ContentValues(); 
    contentValues.put(LOGIN_COL_1, "admin"); 
    contentValues.put(LOGIN_COL_2, "admin"); 
    db.insert(TABLE_LOGIN, null, contentValues); 
    ContentValues contentValues1= new ContentValues(); 
    contentValues1.put(REG_COL_1, "1234567890"); 
    contentValues1.put(REG_COL_2, "28/01/1994"); 
    contentValues1.put(REG_COL_3, "01/01/2016"); 
    db.insert(TABLE_REG, null, contentValues1); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table " + TABLE_LOGIN + "(USER_ID VARCHAR PRIMARY  KEY,PASSWORD TEXT)"); 
    db.execSQL("create table " + TABLE_REG + "(SALARY_ACC VARCHAR PRIMARY    KEY,DOB VARCHAR, DOJ VARCHAR)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("drop table if exists "+ TABLE_LOGIN); 
    db.execSQL("drop table if exists "+ TABLE_REG); 
    onCreate(db); 

} 
public Cursor checkLogin(){ 
    SQLiteDatabase db=this.getWritableDatabase(); 
    Cursor cursor=db.rawQuery("select * from "+ TABLE_LOGIN,null); 
    return cursor; 

} 
public Cursor checknewReg(){ 
    SQLiteDatabase db=this.getWritableDatabase(); 
    Cursor cursor1= db.rawQuery("select * from "+ TABLE_REG,null); 
    return cursor1; 
} 

}` 

NewRegisterクラス

package com.intraharyana.tamber.intraharyana; 

import android.app.DatePickerDialog; 
import android.content.Intent; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.app.Activity; 
import android.text.Editable; 
import android.text.TextWatcher; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.ImageButton; 
import android.widget.Spinner; 
import android.widget.Toast; 

import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Locale; 

    public class NewRegister extends Activity { 
DatabaseHelper mydb; 
EditText emp_DOB,emp_DOJ,salaryacc; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.newregister); 
emp_DOB=(EditText)findViewById(R.id.emp_DOB); 
    emp_DOJ=(EditText)findViewById(R.id.emp_DOJ); 
    salaryacc=(EditText)findViewById(R.id.salaryacc); 

    mydb=new DatabaseHelper(this); 


} 
@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 
public void checkReg(View view) { 

    String salary=salaryacc.getText().toString(); 
    NewRegister ng= new NewRegister(); 

    Cursor c = mydb.checknewReg(); 
    int x=0; 
    if (c.moveToFirst()) { 
     do { 
      if (c.getString(0).equals(salaryacc.getText().toString().toLowerCase()) 
        && c.getString(1).equals(emp_DOB.getText().toString()) 
        && c.getString(2).equals(emp_DOJ.getText().toString())) { 

       Intent i = new Intent(this, NewRegister2.class); 
       startActivity(i); 
       finish(); 
       x=1; 
      } 

     } 
     while (c.moveToNext()); 
     if(x==0) 
      Toast.makeText(this,"Incorrect Credentials...Please Check again",Toast.LENGTH_LONG).show(); 
    } 
} 
@Override 
public void onBackPressed(){ 
    Intent intent=new Intent(this,MainActivity.class); 
    startActivity(intent); 
    finish(); 
} 
} 

LOGCAT

03-29 23:48:19.037 21421-21421/com.intraharyana.tamber.intraharyana E/AndroidRuntime: FATAL EXCEPTION: main 
                         Process: com.intraharyana.tamber.intraharyana, PID: 21421 
                         java.lang.IllegalStateException: Could not execute method of the activity 
                          at android.view.View$1.onClick(View.java:4240) 
                          at android.view.View.performClick(View.java:5184) 
                          at android.view.View$PerformClick.run(View.java:20910) 
                          at android.os.Handler.handleCallback(Handler.java:739) 
                          at android.os.Handler.dispatchMessage(Handler.java:95) 
                          at android.os.Looper.loop(Looper.java:145) 
                          at android.app.ActivityThread.main(ActivityThread.java:5951) 
                          at java.lang.reflect.Method.invoke(Native Method) 
                          at java.lang.reflect.Method.invoke(Method.java:372) 
                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) 
                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183) 
                         Caused by: java.lang.reflect.InvocationTargetException 
                          at java.lang.reflect.Method.invoke(Native Method) 
                          at java.lang.reflect.Method.invoke(Method.java:372) 
                          at android.view.View$1.onClick(View.java:4235) 
                          at android.view.View.performClick(View.java:5184)  
                          at android.view.View$PerformClick.run(View.java:20910)  
                          at android.os.Handler.handleCallback(Handler.java:739)  
                          at android.os.Handler.dispatchMessage(Handler.java:95)  
                          at android.os.Looper.loop(Looper.java:145)  
                          at android.app.ActivityThread.main(ActivityThread.java:5951)  
                          at java.lang.reflect.Method.invoke(Native Method)  
                          at java.lang.reflect.Method.invoke(Method.java:372)  
                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)  
                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)  
                         Caused by: android.database.sqlite.SQLiteException: no such table: employee_info (code 1): , while compiling: select * from employee_info 
                          at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 
                          at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1093) 
                          at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:670) 
                          at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
                          at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59) 
                          at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) 
                          at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) 
                          at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1440) 
                          at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1379) 
                          at com.intraharyana.tamber.intraharyana.DatabaseHelper.checknewReg(DatabaseHelper.java:54) 
                          at com.intraharyana.tamber.intraharyana.NewRegister.checkReg(NewRegister.java:151) 
                          at java.lang.reflect.Method.invoke(Native Method)  
                          at java.lang.reflect.Method.invoke(Method.java:372)  
                          at android.view.View$1.onClick(View.java:4235)  
                          at android.view.View.performClick(View.java:5184)  
                          at android.view.View$PerformClick.run(View.java:20910)  
                          at android.os.Handler.handleCallback(Handler.java:739)  
                          at android.os.Handler.dispatchMessage(Handler.java:95)  
                          at android.os.Looper.loop(Looper.java:145)  
                          at android.app.ActivityThread.main(ActivityThread.java:5951)  
                          at java.lang.reflect.Method.invoke(Native Method)  
                          at java.lang.reflect.Method.invoke(Method.java:372)  
                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)  
                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)  
+0

ありがとうございました。@BobMaloogaのアンインストールと再インストール –

+0

は、@ BobMaloogaの提案が必要です。私は私の基本的な機能を知ることができるどこから共有することができる任意のリンクwebservicesに私のアプリを接続したいですか? –

+0

Google、google、googleをもう一度お試しください。私は5億の結果があると思う。 –

答えて

0

野生の推測:おそらく前回の実行の後に2番目のテーブルを追加しました。
アプリをアンインストールして再実行してください

関連する問題