2016-06-11 15 views
-1

Fragmentを使用してSQLiteデータベースにデータを追加しようとしていますが、データベースに追加中ではなく、アプリケーションの実行中にエラーもありません。 AddRoom断片で私のコード:マイDatabaseクラスのAndroidでフラグメントを使用してSQLiteデータベースにデータを追加する

public class AddRoom extends Fragment implements View.OnClickListener { 

DatabaseHotel myHotel; 
Button bt_addRoom; 
EditText ed_roomtype, ed_roomPrice, ed_noOfRoom; 
View view; 
Context context; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    myHotel = new DatabaseHotel(getActivity()); 
    view = inflater.inflate(R.layout.addroom, container, false); 

    bt_addRoom = (Button)view.findViewById(R.id.bt_addroom); 

    ed_roomtype = (EditText)view.findViewById(R.id.ed_roomtype); 
    ed_roomPrice = (EditText)view.findViewById(R.id.ed_roomprice); 
    ed_noOfRoom = (EditText)view.findViewById(R.id.ed_noofrooms); 

    return view; 
} 

@Override 
public void onClick(View v) { 
    bt_addRoom.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      addRoom(); 
     } 
    }); 
} 


private void addRoom(){ 
    String roomType = ed_roomtype.getText().toString(); 
    int roomPrice = Integer.parseInt(ed_roomPrice.getText().toString()); 
    int noOfRoom = Integer.parseInt(ed_noOfRoom.getText().toString()); 

    boolean inserted = myHotel.addRoom(roomType, roomPrice, noOfRoom); 
    if (inserted){ 
     Message.message(context, "Room Added Succeccfully"); 
    }else { 
     Message.message(context, "Room Not Added!!"); 
    } 
} 
} 

:addRoom()メソッドのコード:

public boolean addRoom(String roomType, int roomPrice, int numberOfRoom){ 
     SQLiteDatabase db = mydb.getReadableDatabase(); 
     ContentValues cv = new ContentValues(); 
     cv.put(Database.ROOM_TYPE, roomType); 
     cv.put(Database.ROOM_PRICE, roomPrice); 
     cv.put(Database.NUMBER_OF_ROOMS, numberOfRoom); 
     try { 
      long result = db.insert(Database.ROOM_TABLE,null, cv); 
      if (result == -1){ 
       return false; 
      }else { 
       return true; 
      } 
     }catch (SQLException e){ 
      Message.message(context, e+""); 
     } 
     return true; 
    } 

答えて

2

は、私はあなたがonCreateView(..)

bt_addRoom.setOnClickListener(this); 

を逃したと思います。最初にOnClickListenerを登録してください。

+0

)(mydb.getWriteableDatabase();ないがgetReadableDatabaseたい場合があります:( –

1

MDは述べて何...しかし、あなたはまた、同様に、それは働いていない

関連する問題