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

Не происходит запись в таблицу SQLite - Basic4Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Basic4Android Как подключить genymotion к basic4android? http://www.cyberforum.ru/basic4android/thread1705612.html
Подскажите, как подключить эмулятор genymotion к basic4android?
Basic4Android Очень нужна одна библиотека Добрый день. Обращаюсь за помощью. Очень нужна библиотека b4a Sip по адресу: https://www.b4x.com/android/forum/attachments/sip-zip.9578/ Пожалуйста, помогите, кто может. Заранее большое спасибо. http://www.cyberforum.ru/basic4android/thread1700835.html
Как реализовать смену экранов жестами Basic4Android
Здравствуйте! Всю голову сломал над тем как сделать смену экранов жестами. Пока реализована схема работы через Event и onFilling, но такой метод не очень удачен так как не меняет экраны если проводить жесты на элементах экрана, например на спиннерах. Есть еще метод ViewPage, но он вроде работает с фрагментами, а у меня уже все активити созданы и на фрагмены их не переделаешь. Как реализовать?...
Есть ли возможность быстро и легко настроить B4A? Или сразу перейти на Android Studio? Basic4Android
Не люблю софт который не может сразу работать после инсталляции. Мне лень указывать javac.exe, android.jar, ADV. И что там еще нужно в B4A? Есть короткий мануал по настройке со скриншотами?
Basic4Android Ошибка "unknown android-api-level-9" при установке admob в eclipse http://www.cyberforum.ru/basic4android/thread1678287.html
пробую установить admob в eclipse как тут описано https://developers.google.com/admob/android/eclipse но ничего не получается после создания проекта с существующим кодом выдаёт unknown android-api-level-9
Basic4Android Прокомментируйте код Добрый день! Пожалуйста, прокомментируйте каждую строку файла. ------------------------------------ package com.example.phpmysql; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.TextView; подробнее

Показать сообщение отдельно
FatSlowpoke
0 / 0 / 0
Регистрация: 11.06.2013
Сообщений: 16

Не происходит запись в таблицу SQLite - Basic4Android

10.04.2016, 15:55. Просмотров 737. Ответов 2
Метки (Все метки)

Я пытаюсь создать для своего приложения страницу регистрации/авторизации. В базе данных дополнительно создаю таблицу для пользователей. На activity с регистрацией, после нажатия кнопки "Зарегистрироваться" хочу выполнить проверку существует ли пользователь с таким email в базе или нет. И есть нет, то введенные данные должны быть записаны в таблицу. Проверка вроде как происходит, но результат всегда отрицательный, мне кажется, что данные просто не записываются в таблицу. Никак не могу понять почему.

База данных. Проверка введенных данных - Exist
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
public class DB {
//название и версия БД
private static final String DB_NAME = "mydb";
private static final int DB_VERSION = 1;
 
//столбцы для таблицы событий и создание таблицы
private static final String DB_TABLE_EVENTS = "mytab";
public static final String EVENTS_COLUMN_ID = "_id";
public static final String EVENTS_COLUMN_TITLE = "title";
public static final String EVENTS_COLUMN_DATE = "date";
public static final String EVENTS_COLUMN_TIME = "time";
public static final String EVENTS_COLUMN_ADDRESS = "address";
public static final String EVENTS_COLUMN_PHONE = "phone";
public static final String EVENTS_COLUMN_DESCRIPTION = "description";
 
private static final String CREATE_TABLE_EVENTS =
        "create table " + DB_TABLE_EVENTS + "(" +
                EVENTS_COLUMN_ID + " integer primary key autoincrement, " +
                EVENTS_COLUMN_TITLE + " text, " +
                EVENTS_COLUMN_DATE + " text, " +
                EVENTS_COLUMN_TIME + " text, " +
                EVENTS_COLUMN_ADDRESS + " text, " +
                EVENTS_COLUMN_PHONE + " text, " +
                EVENTS_COLUMN_DESCRIPTION + " text" +
                ");";
 
//столбцы для таблицы пользователей и создание таблицы
private static final String DB_TABLE_USERS = "users_tab";
public static final String USERS_COLOMN_ID = "_id";
public static final String USERS_COLOMN_LOGIN = "login";
public static final String USERS_COLOMN_EMAIL = "email";
public static final String USERS_COLOMN_PASSWORD = "pass";
 
private static final String CREATE_TABLE_USERS =
        "create table " + DB_TABLE_USERS + "(" +
                USERS_COLOMN_ID + " integer primary key autoincrement, " +
                USERS_COLOMN_LOGIN + " text, " +
                USERS_COLOMN_EMAIL + " text, " +
                USERS_COLOMN_PASSWORD + " text" +
                ");";
 
//столбцы для таблицы списка и создание таблицы
private static final String DB_TABLE_LIST = "list_tab";
public static final String LIST_COLOMN_ID = "_id";
public static final String USERLIST_COLOMN_ID = "_id_user";
public static final String EVENTLIST_COLOMN_ID = "_id_event";
 
private static final String CREATE_TABLE_LIST =
        "create table " + DB_TABLE_LIST + "(" +
                LIST_COLOMN_ID + " integer primary key autoincrement, " +
                USERLIST_COLOMN_ID + " integer not null ,foreign key ("+USERLIST_COLOMN_ID+") reference "+DB_TABLE_USERS+" ("+USERS_COLOMN_ID+"), " +
                EVENTLIST_COLOMN_ID + " integer not null ,foreign key ("+EVENTLIST_COLOMN_ID+") reference "+DB_TABLE_EVENTS+" ("+EVENTS_COLUMN_ID+")" +
                ");";
 
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_EVENTS
public Cursor getAllData() {
    return mDB.query(DB_TABLE_EVENTS, null, null, null, null, null, "_id DESC");
}
 
//получаем объект по id из таблицы DB_TABLE_EVENTS
public Cursor getEventById(long id) {
    return mDB.query("mytab", null, "_id = " + id, null, null, null, "_id DESC");
}
 
//проверяем существует ли пользователь
public String Exist(String user) {
    String username="";
    try {
        Cursor c =  mDB.query(DB_TABLE_USERS, null, USERS_COLOMN_EMAIL + "=?", new String[]{String.valueOf(user)},null, null, null);
 
        if (c == null) {
            return username;
        }
        else {
            c.moveToFirst();
            username = c.getString(c.getColumnIndex(USERS_COLOMN_EMAIL));
        }
    }
 
    catch(Exception e){
        e.printStackTrace();
    }
 
    return username;
}
 
// добавить запись в DB_TABLE_EVENTS
public void addRecEvent(String tit, String dat, String tim, String adr, String phn, String dsc) {
    ContentValues cv = new ContentValues();
    cv.put(EVENTS_COLUMN_TITLE, tit);
    cv.put(EVENTS_COLUMN_DATE, dat);
    cv.put(EVENTS_COLUMN_TIME, tim);
    cv.put(EVENTS_COLUMN_ADDRESS, adr);
    cv.put(EVENTS_COLUMN_PHONE, phn);
    cv.put(EVENTS_COLUMN_DESCRIPTION, dsc);
    mDB.insert(DB_TABLE_EVENTS, null, cv);
}
 
// добавить запись в DB_TABLE_USERS
public void addRecUsers(String login, String email, String pass) {
    ContentValues cv2 = new ContentValues();
    cv2.put(USERS_COLOMN_EMAIL, email);
    cv2.put(USERS_COLOMN_LOGIN, login);
    cv2.put(USERS_COLOMN_PASSWORD, pass);
    mDB.insert(DB_TABLE_USERS, null, cv2);
}
 
// удалить запись из DB_TABLE_EVENTS
public void delRec(long id) {
    mDB.delete(DB_TABLE_EVENTS, EVENTS_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(CREATE_TABLE_EVENTS);
        db.execSQL(CREATE_TABLE_USERS);
 
        ContentValues cv = new ContentValues();
        for (int i = 1; i < 2; i++) {
            cv.put(EVENTS_COLUMN_TITLE, "Увлекательное событие");
            cv.put(EVENTS_COLUMN_DATE, "Каждый день");
            cv.put(EVENTS_COLUMN_TIME, "каждый час");
            cv.put(EVENTS_COLUMN_ADDRESS, "где-то");
            cv.put(EVENTS_COLUMN_PHONE, "спросите у нас.");
            cv.put(EVENTS_COLUMN_DESCRIPTION, "происходит что-то интересное. Не пропустите самые интересные события вашего города!");
            db.insert(DB_TABLE_EVENTS, null, cv);
        }
 
        ContentValues cv2 = new ContentValues();
        for (int i = 1; i < 2; i++) {
            cv2.put(USERS_COLOMN_LOGIN, "superuser");
            cv2.put(USERS_COLOMN_EMAIL, "dasha");
            cv2.put(USERS_COLOMN_PASSWORD, "12345");
            db.insert(DB_TABLE_USERS, null, cv2);
        }
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}
Activity, где происходит регистрация:
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
public class RegisterActivity extends Activity implements View.OnClickListener {
 
EditText etRegEmail, etRegLogin, etRegPassword;
Button btnRegister, btnLoginLink;
TextView tvSiteLink;
DB db;
 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.register);
 
    etRegEmail = (EditText) findViewById(R.id.etRegEmail);
    etRegLogin = (EditText) findViewById(R.id.etRegLogin);
    etRegPassword = (EditText) findViewById(R.id.etRegPassword);
    btnRegister = (Button) findViewById(R.id.btnRegister23);
    btnLoginLink = (Button) findViewById(R.id.btnLoginLink);
    tvSiteLink = (TextView) findViewById(R.id.tvSiteLink);
 
    btnRegister.setOnClickListener(this);
    btnLoginLink.setOnClickListener(this);
 
    // открываем подключение к БД
    db = new DB(this);
    db.open();
}
 
@Override
public void onClick(View v) {
    switch(v.getId()){
        case R.id.btnRegister23:
            String email = (etRegEmail.getText().toString());
            String login = (etRegLogin.getText().toString());
            String pass = (etRegPassword.getText().toString());
            String storedUser = db.Exist(email);
            if (email.equals(storedUser)) {
                Toast.makeText(this, "Вы уже зарегистрированы. Пожалуйста, авторизируйтесь.", Toast.LENGTH_SHORT).show();
            }
            else db.addRecUsers(email, login, pass);
            break;
        case R.id.btnLoginLink:
            startActivity(new Intent(this, LoginActivity.class));
            break;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru