2013-04-18 6 views
-1

Я написал contentvalues ​​для вставки, компилирует код, но данные не вставлены в базу данных. Моя проблема заключается в том, что таблицы создаются, но данные не вставлены, я понятия не имею.Невозможно вставить данные в sqlite базу данных в android

Мой код выглядит следующим образом: У этого класса 2 класса есть информация о соединении с базой данных, а во втором классе - создание таблиц и инструкции по вводу данных.

Class 2: 
create table and insert method that has content values and I am returning the value to main class 
class 1: 
database connection and database open command. 

Может ли кто-нибудь обратиться к руководству, поскольку я новичок в android и пытаюсь учиться самостоятельно.

+2

Вы можете разместить свой код? –

+1

Опубликуйте свой код и logcat .. – AndiM

+0

обратитесь к [this] (http://v4all123.blogspot.com/2013/03/sqlite-database.html) учебник или [это] (http://v4all123.blogspot.com/ 2013/03/sqlite-databases-with-external-db.html), если вы используете внешний db. – Gunaseelan

ответ

0

здесь два класса один создать соединение с базой данных и другой класс вставки пользователя (с помощью объекта класса пользователя) в базе данных

public class UserDataHelper extends SQLiteOpenHelper { 

public UserDataHelper(Context context, String name, CursorFactory factory, 
     int version) { 
    super(context, name, factory, version); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase database) { 
    // TODO Auto-generated method stub 

    database.execSQL(UserMataData.sql); 

} 

@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
    // TODO Auto-generated method stub 

} 

}

выше класс создания базы данных

public class UserDataSource { 

private SQLiteDatabase userDataBase; 
private UserDataHelper userDataHelper; 


public UserDataSource(Context context) { 
    super(); 
    userDataHelper = new UserDataHelper(context, UserMataData.DataBaseName, null, UserMataData.DataBaseVersion);   
} 

public void openDataBase() 
{  
    userDataBase = userDataHelper.getReadableDatabase(); 
} 

public void closeDataBase() 
{ 
    userDataHelper.close(); 
} 
public boolean addUser (User user) 
{ 
    ContentValues cv = new ContentValues(); 
    cv.put(UserMataData.Name, user.getName()); 
    cv.put(UserMataData.University, user.getUniversity()); 

    long insert = userDataBase.insert(UserMataData.TableName, null, cv); 
    if(insert != -1) 
     return true; 

    return false; 

} 

public Cursor getAllUsers() 
{ 
    return userDataBase.query(UserMataData.TableName, null, null, null, null, null, null); 
} 

}

примечание пользовательский объект - это всего лишь объект класса пользователя, который вы может просто заменить его на любой другой материал, который Вы хотите добавить в базу данных и изменить ContentValues ​​соответственно

+0

Спасибо Haider за ваш ответ .... Geralt_Encore и Meghs Я могу отправить код, но не могу отправить logcat, поскольку logcat не сгенерирован .. вот где я запутался в том, как отслеживать ... Есть ли какое-либо решение для этого – Siva

+0

@siva вы можете отслеживать ошибки в LogCat выполните следующие действия, если вкладка LogCat не появляется 1- окно 2-Show View 3-других (при нажатии кнопки окна появится) 4 типа LogCat в баре журнала кошке появится в правой вертикальной полосе или будет зависеть от ваших настроек. –

+0

публичная база классов расширяет базу данных SQLiteOpenHelper { (контекст контекста, имя строки, фабрика CursorFactory, версия int) { супер (контекст, название, заводская версия); } t1 t; public void onCreate (база данных SQLiteDatabase) { database.getwritabledatabase(); database.execSQL (t.table1); database.insert (t.tablename, нулевой t.insertdata())} общественных недействительного onUpgrade (SQLiteDatabase arg0, внутр arg1, внутр арг2) {} общественного класс t1 { Строки table1 = "Создать таблицу" public contentvalues ​​insert() { ContentValues ​​cv = new ContentValues ​​(); cv.put (column1.getID()); cv.put (column2.getname()); return cv; } } } – Siva

0

Приведи это Superb Учебник ... Это Помощь иа много ... Ссылку here

+0

Здравствуйте, Siva Log должен быть сгенерирован .. Перезапустите Eclipse и снова запустите проект. – Nandu

+0

Спасибо, что ответ Nandu ... будет android emulator и производительность logcat зависит от системной ОС, поскольку эмулятор в моей машине всегда будет давать мне проблемы, а иногда не открывается вообще после перезапуска несколько раз, когда это работает ... Мне очень больно от этого эмулятора Android, который будет тратить больше всего моего времени .. Есть ли какое-либо решение – Siva

+0

Извините @Shiva Идея. – Nandu

Смежные вопросы