2012-01-12 13 views
-1
を使用してデータベースを構築

コードがfinaceアプリ アプリへのユーザー登録のためのregistationテーブル用であり、私の問題は、データベースことをここで、後でそれがアプリ にログインするために使用するデータベース に保存されていますBUは日食アンドロイドsqliteの

作成されているが、テーブルが作成取得されていないとappicationたちは、リセットボタン

と同様に、送信ボタン をクリックすると閉じている実際に私は、テーブルにデータを入力する必要がありますが

public class Register extends Activity { 
     String str1; 
    @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.register); 
ttonバックログインページにリセットボタン用

  Button bk=(Button)findViewById(R.id.back); 

      bk.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        Intent intent1=new Intent(v.getContext(), PersonelFinaceAppActivity.class); 
        startActivityForResult(intent1, 0); 

       } 
      }); 

ボタンを行くためには、すべてのフィールド

  Button rst=(Button)findViewById(R.id.reset); 
      rst.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        EditText et=(EditText)findViewById(R.id.fn); 
        et.setText(""); 
        et=(EditText)findViewById(R.id.ln); 
        et.setText(""); 
        et=(EditText)findViewById(R.id.un); 
        et.setText(""); 
        et=(EditText)findViewById(R.id.pass); 
        et.setText(""); 
        et=(EditText)findViewById(R.id.monincome); 
        et.setText(""); 
        TextView tv =(TextView)findViewById(R.id.textView1); 
        tv.setText("Firstname "); 
        tv =(TextView)findViewById(R.id.textView2); 
        tv.setText("Lastname"); 
        tv =(TextView)findViewById(R.id.textView3); 
        tv.setText("Username"); 
        tv =(TextView)findViewById(R.id.textView6); 
        tv.setText("Password"); 
        tv =(TextView)findViewById(R.id.textView7); 
        tv.setText("Monthlyincome"); 
       } 
      }); 
ない

  Button chk=(Button)findViewById(R.id.chk); 
      chk.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         // TODO Auto-generated method stub 
         String User; 
         EditText Username = (EditText)findViewById(R.id.un); 
         User = Username.getEditableText().toString().trim(); 
         SQLiteDatabase db1; 
         db1 = openOrCreateDatabase("Userdetails.db", SQLiteDatabase.CREATE_IF_NECESSARY, null); 
         db1.setVersion(3); 
         db1.setLocale(Locale.getDefault()); 
         db1.setLockingEnabled(true); 
        try{Cursor c1=db1.rawQuery("select Username from details1 where Username='"+User+"'",null); 
           if(c1.moveToNext()){showDialog(1);} 
           else{showDialog(2);} 
          } 
         catch (Exception e) { 
          // TODO: handle exception 
          } 
         } 
       }); 
のデータベースにuseralready終了を確認するための

チェックボタンをリセット

ここに問題が発生するとサブミットボタン アプリのすべての操作を実行する必要があります

  Button sub=(Button)findViewById(R.id.submit); 
      sub.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        // TODO Auto-generated method stub 

         String First; 
         String Last; 
         String User; 
         String Pass; 
         String monthincome; 
         @SuppressWarnings("unused") 
         long l; 
         EditText Firstname =(EditText)findViewById(R.id.fn); 
         EditText Lastname = (EditText)findViewById(R.id.ln); 
         EditText Username = (EditText)findViewById(R.id.un); 
         EditText Password = (EditText)findViewById(R.id.pass); 
         EditText moninc = (EditText)findViewById(R.id.monincome); 
         First = Firstname.getEditableText().toString().trim(); 
         Last = Lastname.getEditableText().toString().trim(); 
         Pass = Password.getEditableText().toString().trim(); 
         User = Username.getEditableText().toString().trim(); 
         monthincome = moninc.getEditableText().toString().trim(); 
         if(Firstname.length()<1 || Lastname.length()<1 || Password.length()<1 || Username.length()<1 || moninc.length()<1) 
         {showDialog(3);} 
         else{SQLiteDatabase db1; 
            db1 = openOrCreateDatabase("Userdetails.db", SQLiteDatabase.CREATE_IF_NECESSARY, null); 
            db1.setVersion(3); 
            db1.setLocale(Locale.getDefault()); 
            db1.setLockingEnabled(true); 
            final String CREATE_TABLE_DETAILS ="CREATE TABLE details1 (" + "Username INTEGER PRIMARY KEY ," + "Firstname TEXT," + "Lastname TEXT," + "Password TEXT," + "Monthlyincome TEXT);"; 
          db1.execSQL(CREATE_TABLE_DETAILS); 
          try{Cursor c1=db1.rawQuery("select Username from details1 where Username='"+User+"'",null); 
             if(c1.moveToNext()) 
             {showDialog(4);} 
             else{ 
             ContentValues values1 = new ContentValues(); 
             values1.put("Firstname", First); 
             values1.put("Lastname", Last); 
             values1.put("Username", User); 
             values1.put("Password", Pass); 
             values1.put("Monthlyincome", monthincome); 
             db1.insert("details1", null, values1); 
             showDialog(5); 
             } 
             } 
             catch(Exception e) 
             {} 
             finally 
             {} 
         } 
        } 
      }); 
    } 

} 

のみ送信ボタンのplzのヘルプの助けを必要と

+0

実際の問題を教えてください。 –

+0

テーブルが作成されておらず、アプリケーションが終了しています – saleem

答えて

0

は、テーブルの作成が変更され、その

SQLiteDatabaseのDB1に行われ、それを考え出しました。

db1 = openOrCreateDatabase( "Userdetails.db"、SQLiteDatabase.CREATE_IF_NECESSARY、null);

db1.setVersion(3); db1.setLocale(Locale.getDefault());

db1.setLockingEnabled(true); "+" ID INTEGER主キーAUTOINCREMENT "+"名字テキスト "+"姓名 "+"ユーザー名TEXT "+"パスワードTEXT " + "Monthlyincome TEXT);";

db1.execSQL(CREATE_TABLE);

0
I think that u should try this 

SQLiteDatabase myDB= null; 
      String TableName = "db_entry"; 

      /* Create a Database. */ 
      try { 
      myDB = this.openOrCreateDatabase("db_hw3", MODE_PRIVATE, null); 
      myDB.execSQL("DROP TABLE IF EXISTS db_entry"); 
      /* Create a Table in the Database. */ 
      myDB.execSQL("CREATE TABLE IF NOT EXISTS " 
      + TableName 
      + " (id INTEGER PRIMARY KEY AUTOINCREMENT, mb_text TEXT NOT NULL,ph_location TEXT);"); 

      } 
      catch(Exception e) { 
      Log.e("Error", "Error", e); 
      } 
+0

データベースを作成していないとき – saleem