Проблема с работой столбца таблицы

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Проблема с работой столбца таблицы

Сообщение tadvas » 10 окт 2013, 20:58

Добрый день!
Помогите, пожалуйста, в создании первого приложения.

Пользователь вводит текст(editText1)
Нажимает подтверждающую кнопку после окончания введения ("ок")
Появляется диалог
Пользователь выбирает какой-то пункт.(data[lv.getCheckedItemPosition()])

Два этих значения сохраняются в списке и БД.

Проблема в том, что объявляя столбец пунктом из диалога при запуске выдает ошибку.

Работает, если имя этого столбца = имени столбца с текстом, который ввел пользователь.

Но тогда значения одинаковые выводятся(те, которые указывались последними)

Никак не могу решить это, ПОМОГИТЕ, пожалуйста.

Код: Выделить всё

public void onClick(DialogInterface dialog, int which) {
         ListView lv = ((AlertDialog) dialog).getListView();
         if (which == Dialog.BUTTON_POSITIVE){
         editText1 = (TextView) findViewById(R.id.editText1);
	 tvText = (TextView) findViewById(R.id.tvText);
	 textView1 = (TextView) findViewById(R.id.textView1);
	    		
                String text=editText1.getText().toString();
	        String text1=data[lv.getCheckedItemPosition()];
	    			          // добавляем запись
	              db.addRec(text, text1, R.drawable.ic_launcher);
	    	            tvText.setText(text);
	    	            textView1.setText(text1);
	    			          
                      editText1.setText(null);
	    			         
	    	    // обновляем курсор	
	               cursor.requery();
         }
Это БД:

Код: Выделить всё

public class DB {
  
  // Данные базы данных и таблиц
  private static final String DB_NAME = "mydb";
  private static final int DB_VERSION = 1;
  private static final String DB_TABLE = "mytab";
  //Название столбцов
  public static final String COLUMN_ID = "_id";
  public static final String COLUMN_IMG = "img";
  public static final String COLUMN_TXT = "txt";
  public static final String COLUMN_MON = "mon"; //НЕ РАБОТАЕТ, ЕСЛИ ТАК УКАЗАНО. ЕСЛИ ПОСТАВИТЬ = "txt" - РАБОТАЕТ, НО НЕ ПРАВИЛЬНО.
  
  
  private static final String DB_CREATE = 
    "create table " + DB_TABLE + "(" +
      COLUMN_ID + " integer primary key autoincrement," +
      COLUMN_IMG + " integer," +
      COLUMN_TXT + " text," +
      COLUMN_MON + " text not null);";
  
  private final Context mCtx;
    
  private DBHelper mDBHelper;
  private SQLiteDatabase mDB;
  
  public DB(Context ctx) {
    mCtx = ctx;
  }
  
  // открыть подключение
  public void open() {
    mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
    mDB = mDBHelper.getWritableDatabase();
  }
  
  // закрыть подключение
  public void close() {
    if (mDBHelper!=null) mDBHelper.close();
  }
  
  // получить все данные из таблицы DB_TABLE
  public Cursor getAllData() {
    return mDB.query(DB_TABLE, null, null, null, null, null, null, null);
  }
  
  // добавить запись в DB_TABLE
  public void addRec(String txt, String mon, int img) {
    ContentValues cv = new ContentValues();
    cv.put(COLUMN_TXT, txt);
    cv.put(COLUMN_MON, mon);
    cv.put(COLUMN_IMG, img);
    mDB.insert(DB_TABLE, null, cv);
  }
  
  // удалить запись из DB_TABLE
  public void delRec(long id) {
    mDB.delete(DB_TABLE, COLUMN_ID + " = " + id, null);
  }
  
  // класс по созданию и управлению БД
  private class DBHelper extends SQLiteOpenHelper {

    public DBHelper(Context context, String name, CursorFactory factory,
        int version) {
      super(context, name, factory, version);
    }

    // создаем и заполняем БД
    
    @Override
    
    public void onCreate(SQLiteDatabase db) {
      db.execSQL(DB_CREATE);
        }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
  }
}

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Проблема с работой столбца таблицы

Сообщение Foenix » 10 окт 2013, 21:08

Проблема в том, что объявляя столбец пунктом из диалога при запуске выдает ошибку.
Какую?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: Проблема с работой столбца таблицы

Сообщение tadvas » 10 окт 2013, 21:12

вот
Вложения
trouble.jpg
trouble.jpg (90.06 КБ) 6082 просмотра

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Проблема с работой столбца таблицы

Сообщение Foenix » 10 окт 2013, 21:20

нет, на экран тут смотреть бесполезно. Нужно смотреть в лог. Иначе, если вы туда не смотрели, как можно писать приложение в слепую??
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: Проблема с работой столбца таблицы

Сообщение tadvas » 10 окт 2013, 21:34

10-10 18:31:43.545: WARN/dalvikvm(365): threadid=1: thread exiting with uncaught exception (group=0x40015560)

В логе вот это выдает.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Проблема с работой столбца таблицы

Сообщение Foenix » 10 окт 2013, 21:37

надо все сюда приводить, то что красное - полностью. Этой строчки мало, чтобы понять. Там адрес есть где именно ошибка в программе, там есть название ошибки, там есть все.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: Проблема с работой столбца таблицы

Сообщение tadvas » 10 окт 2013, 21:43

Спасибо, буду знать.
Вложения
Безымянный.jpg
Безымянный.jpg (319.19 КБ) 6080 просмотров


tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: Проблема с работой столбца таблицы

Сообщение tadvas » 10 окт 2013, 22:01

Уважаемый, no--.
Так и есть, а почему так произошло?

Не могу понять, где его объявить еще нужно?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Проблема с работой столбца таблицы

Сообщение Foenix » 10 окт 2013, 22:28

не обявить, а создать в таблице. Почитай уроки по бд тут, хотя бы первые парочку.
и ошибка, читай адрес дальше, в классе твоем year2013 или что там у тебя..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

tadvas
Сообщения: 11
Зарегистрирован: 01 окт 2013, 16:52

Re: Проблема с работой столбца таблицы

Сообщение tadvas » 11 окт 2013, 00:21

Спасибо за помощь!
Получилось реализовать идею.
Проблема была в обновлении БД через Урок 39. onUpgrade. Обновляем БД в SQLite.

Ответить