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

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

Войти
Регистрация
Восстановить пароль
 
AleexBl
0 / 0 / 0
Регистрация: 20.08.2014
Сообщений: 13
#1

Не создается база данных SQLite - Программирование Android

28.08.2014, 15:14. Просмотров 742. Ответов 2
Метки нет (Все метки)

Здравствуйте уважаемы форумчане! Столкнулся с проблем, не создается база данных. При запросе данных с таблицы выскакивает ошибка и приложение закрывается. Задача состоит в следующем. В одном из активити посылаю запрос на сервер, возвращаюсь в главное активити и записываю результат запроса в базу, вроде ничего сложного но что то не получается, помогите пожалуйста! Код работы с базой:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class DatabaseHelper extends SQLiteOpenHelper implements BaseColumns{
    private static final String DATABASE_NAME = "mydatabase.db";
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_TABLE = "DataReq";
    public static final String USERNAME_COLUMN = "username";
    public static final String PASSWORD_COLUMN = "password";
    public static final String CLIENT_KEY_COLUMN = "client_key";
    public static final String CLIENT_SECRET_COLUMN = "client_secert";
    private static final String DATABASE_CREATE_SCRIPT = "create table "
            + DATABASE_TABLE + " (" + BaseColumns._ID
            + " integer primary key autoincrement, " + USERNAME_COLUMN
            + " text not null, " + PASSWORD_COLUMN + " text not null, " + CLIENT_KEY_COLUMN
            + " text not null, " + CLIENT_SECRET_COLUMN + " text not null );";
    DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    public DatabaseHelper(Context context, String name, CursorFactory factory,
            int version, DatabaseErrorHandler errorHandler) {
        super(context, name, factory, version, errorHandler);
        // TODO Auto-generated constructor stub
    }
 
    public DatabaseHelper(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
        // TODO Auto-generated constructor stub
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DATABASE_CREATE_SCRIPT);
        Log.d("myLogs","create");
        // TODO Auto-generated method stub
 
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w("SQLite", "Обновляемся с версии " + oldVersion + " на версию " + newVersion);
        
        // Удаляем старую таблицу и создаём новую
        db.execSQL("DROP TABLE IF IT EXIST " + DATABASE_TABLE);
        // Создаём новую таблицу
        onCreate(db);
        // TODO Auto-generated method stub
 
    }
 
}
Код вставки данных:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        dbHelper = new DatabaseHelper(this, "mydatabase.db", null, 1);
        sdb = dbHelper.getWritableDatabase();
        ContentValues newValues = new ContentValues();
        if (data == null) {return;}
        stat=data.getStringExtra("stat");
        username=data.getStringExtra("username");
        password=data.getStringExtra("password");
        client_id=data.getStringExtra("client_key");
        client_secret=data.getStringExtra("client_secret");
        Log.d("myLogs","result:" + client_id +" " + client_secret +username +password );
        Toast.makeText(this,"You registration was successful. Please login", Toast.LENGTH_LONG).show();
        newValues.put(dbHelper.USERNAME_COLUMN, username);       
        newValues.put(dbHelper.PASSWORD_COLUMN, password);
        newValues.put(dbHelper.CLIENT_KEY_COLUMN, client_id);
        newValues.put(dbHelper.CLIENT_SECRET_COLUMN, client_secret);
        // Вставляем данные в базу
        sdb.insert("DataReq", null, newValues);
        }
Код чтения данных:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
dbHelper = new DatabaseHelper(this, "mydatabase.db", null, 1);
        SQLiteDatabase sdb;
        sdb = dbHelper.getReadableDatabase();
        Intent intent;
        switch(v.getId()){
        case R.id.btnLogIn:
            Cursor cursor = sdb.query("DataReq", null, null, null, 
                    null, null, null) ;         
            cursor.moveToFirst();
            Log.d("myLogs","text");
            if (cursor.moveToFirst()) {
                Log.d("myLogs","text1");
                int idColIndex = cursor.getColumnIndex("_ID");
                int nameColIndex = cursor.getColumnIndex("USERNAME_COLUMN");
                int passColIndex = cursor.getColumnIndex("PASSWORD_COLUMN");
                int keyColIndex = cursor.getColumnIndex("CLIENT_KEY_COLUMN");
                int secColIndex = cursor.getColumnIndex("CLIENT_SECRET_COLUMN");
                Log.d("myLogs","text2");
                do {
                    Log.d("myLogs","text3");
                    // получаем значения по номерам столбцов и пишем все в лог
                   Log.d("myLogs",
                        "ID = " + cursor.getInt(idColIndex) + 
                        ", name = " + cursor.getString(nameColIndex) +
                        ", password = " + cursor.getString(passColIndex)+
                        ", key = " + cursor.getString(keyColIndex)+
                        ", secret = " + cursor.getString(secColIndex));
                    Log.d("myLogs","text10");
                    // переход на следующую строку 
                    // а если следующей нет (текущая - последняя), то false - выходим из цикла
                  } while (cursor.moveToNext());
                Log.d("myLogs","text4");
                } else
                  Log.d("myLogs", "0 rows");
            Log.d("myLogs","text5");
                cursor.close();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2014, 15:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не создается база данных SQLite (Программирование Android):

Не создается база данных - Программирование Android
Здравствуйте. не получается создать базу данных((((( есть класс: package com.page; import android.content.Context; import...

Не создается база данных - Программирование Android
Здравствуйте, начал только изучать базу данных, и вот проблема в Android Studio в File Explorer в data / data я базу созданную не вижу: ...

База данных SQLite - Программирование Android
Добрый день. Может я повторюсь с вопросом, но вы уж меня простите, не могу найти... Подскажите, пожалуйста, где можно прочитать как создать...

База данных sqlite - Программирование Android
Доброго времени суток. Пишу приложение в котором возможна отправка запросов и на вставку и на чтение БД. Насколько я ...

SQLite база данных (новичек) - Программирование Android
Здравствуйте уважаемые программисты. Подскажите пожалуйста как можно при создании таблицы в базе данных вытаскивать название с...

SQLite база данных с паролем - Программирование Android
Есть база данных защищенная ключом! Сама база данных хранится на устройстве. При подключении к базе надо как то передать пароль, но в...

2
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
29.08.2014, 10:47 #2
Надо звать экстрасенсов.
0
AleexBl
0 / 0 / 0
Регистрация: 20.08.2014
Сообщений: 13
29.08.2014, 11:21  [ТС] #3
Всё, нашёл в чем ошибка, тема закрыта
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2014, 11:21
Привет! Вот еще темы с ответами:

Android, ListView, база данных SQLite - Программирование Android
Как достать картинку из БД (SQLite) и поместить её в ListView??? помогите, пожалуйста :)

Не создается DB SQLite - Программирование Android
Люди добрые, подскажите что не так в коде package com.gufa.myalarm2.alarmclock; import android.content.ContentProvider; import...

Не создается БД SQLite - Программирование Android
Здравствуйте! Пишу своё первое приложение в Android studio. Есть 5 классов. MainActivity - стартовый класс-активити в которым мы можем...

AutoCompleteTextView + база sqlite - Программирование Android
Вопрос вот в чем, имеется база и элемент AutoCompleteTextView. Задача в том, чтобы в AutoCompleteTextView подгружался столбец с названиями...


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

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

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