Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
#1

Вставить null в SQLite - Программирование Android

15.08.2013, 00:19. Просмотров 887. Ответов 13
Метки нет (Все метки)

Есть такой код
Java
1
2
3
4
5
6
7
@Override
        public void onCreate(SQLiteDatabase db) {
               db.execSQL("CREATE TABLE "+ DATABASE_TABLE+ " ("+
                        KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                        KEY_REZIM + " TEXT NOT NULL, " +
                        KEY_POINT_ID + " TEXT);"
                   );
У меня KEY_REZIM бывает null, как его вставить в таблицу? Читал, что SQLite не поддерживает вставку пустой строки.
Если перед этим делаю проверку на
Java
1
2
3
4
if ((KEY_REZIM==null)||(KEY_REZIM.equals("")))
                            {
                                KEY_REZIM="Нет данных"; 
                            }
С таким кодом и без него вылетает, в логах пишет, что KEY_REZIM равно null. Как быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 00:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставить null в SQLite (Программирование Android):

Проверка на null - Программирование Android
Как правильно создать условие. У меня есть строчки кода, которые в переменную apiTokenMy записывают значение String tokenMy1 =...

SQLite - Программирование Android
Создаю простенькую таблицу. db.execSQL("create table " + DATABASE_TABLE_NAME + " (" + ID_COLUMN + " integer primary key...

SQLite - Программирование Android
Мне не подскажите где можно взять хорошие примеры по SQlite.

SQLite - Программирование Android
Возвращаясь к старой теме, вернусь к проблеме. По рекомендации попробовал сделать от сюда Тут отправляем данные для записи в бд obj...

SQLite - Программирование Android
Приложение вылетает с ошибкой, не подскажете, в чём проблема? public class DatabaseHelper extends SQLiteOpenHelper { private...

SQLite - Программирование Android
почему id = 0 ??? public void onClick(View view) { dataBase = new DataBase(context); sqLiteDatabase =...

13
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2013, 00:21 #2
Цитата Сообщение от Digetix Посмотреть сообщение
Java
1
2
3
if ((KEY_REZIM==null)||(KEY_REZIM.equals(""))) {
KEY_REZIM="Нет данных"; 
}
а зачем ключ менять?
KEY_REZIM это название колонки как я понял и оно должно быть константой, и не может быть null или пустой строчкой.
значение не может быть null наверное потому что вы написали "TEXT NOT NULL"
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 00:30  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
KEY_REZIM это название колонки как я понял и оно должно быть константой, и не может быть null или пустой строчкой.
Это да, извините, не то вписал.
Java
1
2
3
4
5
ContentValues cv = new ContentValues();
if ((rezim==null)||(rezim.equals(""))) {
    rezim="Нет данных!"; 
}
cv.put(KEY_REZIM, rezim);
В таком случае всё равно вылетает с ошибкой, что rezim равен null.
Цитата Сообщение от V0v1k Посмотреть сообщение
значение не может быть null наверное потому что вы написали "TEXT NOT NULL"
Я пробовал и просто " TEXT ", всё равно если null, то вылетает.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2013, 00:32 #4
покажите логи
0
Maxtron
50 / 50 / 3
Регистрация: 17.11.2012
Сообщений: 228
Записей в блоге: 1
15.08.2013, 00:39 #5
http://stackoverflow.com/questions/9823514/insert-null-in-sqlite-table
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 00:50  [ТС] #6
Вот лог по приложению
E/AndroidRuntime(8856): java.lang.NullPointerException
E/AndroidRuntime(8856): at com.example.test.MainActivity$6.done(MainActivity.java:533)
E/AndroidRuntime(8856): at com.parse.FindCallback.internalDone(FindCallback.java:48)
E/AndroidRuntime(8856): at com.parse.FindCallback.internalDone(FindCallback.java:33)
E/AndroidRuntime(8856): at com.parse.BackgroundTask.onPostExecute(BackgroundTask.java:50)
E/AndroidRuntime(8856): at com.parse.BackgroundTask.onPostExecute(BackgroundTask.java:16)
E/AndroidRuntime(8856): at android.os.AsyncTask.finish(AsyncTask.java:417)
E/AndroidRuntime(8856): at android.os.AsyncTask.access$300(AsyncTask.java:127)
E/AndroidRuntime(8856): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
E/AndroidRuntime(8856): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(8856): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(8856): at android.app.ActivityThread.main(ActivityThread.java:3687)
E/AndroidRuntime(8856): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(8856): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(8856): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
E/AndroidRuntime(8856): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
E/AndroidRuntime(8856): at dalvik.system.NativeStart.main(Native Method)
E/ (27358): Dumpstate > /data/log/dumpstate_app_error
Добавлено через 2 минуты
Смотрел эту ссылку. Там вроде не совсем то, что мне нужно. У меня есть столбец и в него нужно вставлять то текст, то null
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2013, 01:37 #7
Цитата Сообщение от Digetix Посмотреть сообщение
MainActivity.java:533
и что в этой строке?
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 11:36  [ТС] #8
Цитата Сообщение от V0v1k Посмотреть сообщение
и что в этой строке?
Java
1
String rezim = myObject.get(i).getString("rezim").toString();
Сейчас нет возможности проверить, но подозреваю, что оттуда приходит null, а я пытаюсь его сделать строкой
0
verylazy
Заблокирован
15.08.2013, 14:09 #9
оно ругает на нулл поинтер, который вылетает в методе onPostExecute - его и надо смотреть
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 14:57  [ТС] #10
Цитата Сообщение от verylazy Посмотреть сообщение
который вылетает в методе onPostExecute - его и надо смотреть
У меня подключена библиотека сайта parse.com.
Вот метод взятия из него данных
Java
1
2
3
4
5
6
7
8
query = new ParseQuery("Object");
query.findInBackground(new FindCallback() {
            public void done(List<ParseObject> myObject, ParseException e) {
                if (e == null) { 
                    String rezim = myObject.get(i).getString("rezim").toString();        // это 533 строка
                    }
               }
        });
0
verylazy
Заблокирован
15.08.2013, 15:07 #11
а если сразу после
Java
1
public void done(List<ParseObject> myObject, ParseException e) {
сделать
Java
1
System.out.println(myObject);
?
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 15:27  [ТС] #12
Сейчас нет возможности проверить, но что это даст?
0
verylazy
Заблокирован
15.08.2013, 15:49 #13
просто проверить - myObject == null или нет, если null то дальше курить код почему так получается
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
15.08.2013, 16:23  [ТС] #14
Я проверю позже, но 99 %, что он не null. Другие строки из него извлекает нормально
0
15.08.2013, 16:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 16:23
Привет! Вот еще темы с ответами:

FindViewByID возвращает Null - Программирование Android
День добрый. Я в разработке андроида новичек, и застрял можно сказать в самом начале. Имеется проект типа hello world Один...

Обращение к NULL TextView - Программирование Android
У меня есть TextView описанный в XML в GridLayout. И есть ListView который этими GridLayout и заполняется. Возникает исключение....

lockCanvas() возврашяет null - Программирование Android
Доброе время суток. У меня возникла проблема. Пишу 2д игру под андроид (так для себя не чего серьёзного) . За основу взят этот мануал...

Кириллица в SQLite - Программирование Android
Пишу Android приложение на Java, которое будет использовать базу данных SQLite , однако возникла проблема с восприятием приложением...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru