![enter image description here](https://i.stack.imgur.com/V6SWO.png)
Эй, ребята, я пытался вставить некоторые данные в таблицу, созданную в Android Studio, вот код.
package database.oxbir.com.databae;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Oxbir on 28/10/2018.
*/
public class DataModelLayer extends SQLiteOpenHelper {
public static final String DB_NAME = "oxbir";
public static final int DB_VERSION = 1;
public static final String TBL_NAME = "users";
public static final String COL_ID = "id";
public static final String COL_NAME = "name";
public static final String COL_FAMILY = "family";
public static final String COL_AGE = "age";
public static final String Query = "CREATE TABLE IF NOT EXISTS " + TBL_NAME + "(" +
COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
COL_NAME + "TEXT," +
COL_FAMILY + "TEXT," +
COL_AGE + "INTEGER);";
Context context;
public DataModelLayer(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
try
{
db.execSQL(Query);
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public long addInfo (String name, String family, int age){
ContentValues contentValues = new ContentValues();
contentValues.put(COL_NAME, name);
contentValues.put(COL_FAMILY, family);
contentValues.put(COL_AGE, age);
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
long result = sqLiteDatabase.insert(TBL_NAME, null, contentValues);
if (result > 0)
{
return result;
}
else
{
return result;
}
}
}
package database.oxbir.com.databae;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Oxbir on 28/10/2018.
*/
public class DataModelLayer extends SQLiteOpenHelper {
public static final String DB_NAME = "oxbir";
public static final int DB_VERSION = 1;
public static final String TBL_NAME = "users";
public static final String COL_ID = "id";
public static final String COL_NAME = "name";
public static final String COL_FAMILY = "family";
public static final String COL_AGE = "age";
public static final String Query = "CREATE TABLE IF NOT EXISTS " + TBL_NAME + "(" +
COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
COL_NAME + "TEXT," +
COL_FAMILY + "TEXT," +
COL_AGE + "INTEGER);";
Context context;
public DataModelLayer(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
try
{
db.execSQL(Query);
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public long addInfo (String name, String family, int age){
ContentValues contentValues = new ContentValues();
contentValues.put(COL_NAME, name);
contentValues.put(COL_FAMILY, family);
contentValues.put(COL_AGE, age);
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
long result = sqLiteDatabase.insert(TBL_NAME, null, contentValues);
if (result > 0)
{
return result;
}
else
{
return result;
}
}
}
Когда я звоню в это занятие, я получаю сообщение id=1
.
Я обнаружил, что действие выполнялось без проблем, поэтому приложение не аварийно завершало работу, поэтому я решил добавить запрос на вставку, чтобы проверить, не было ли что-то не так с ним.
насколько я могу судить, все выглядит хорошо, купи, как только я включу.
В моем коде приложение вылетает (temp содержит запрос, который я только что выполнил)
anyпомощь будет оценена.