Иностранный ключ всегда нольAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Иностранный ключ всегда ноль

Сообщение Anonymous »

Я пытаюсь сделать таблицы itemgroupe и элемент . Я хочу itemgroupe_id как внешний ключ в таблице itam . У меня всегда есть значение, которое всегда нулево. Может ли кто -нибудь предоставить пример кода для этого?public static final String CREATE_TABLE_ITEM_GROUP = "CREATE TABLE " + RawColumnContract.RawColumnEntry.TABLE_NAMES[0] + " (" +
RawColumnContract.RawColumnEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
RawColumnContract.RawColumnEntry.COLUMN_NAME_GROUP_ITEM[1] + " TEXT)";
< /code>
Таблица элементов: < /p>
public static final String CREATE_TABLE_ITEM = "CREATE TABLE " + RawColumnContract.RawColumnEntry.TABLE_NAMES[1] + "(" +
RawColumnContract.RawColumnEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[0] + " TEXT," +
RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[1] + " TEXT," +
RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[2] + " TEXT," +
RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[3] + " TEXT," +
RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[4] + " INTEGER," +
" FOREIGN KEY ("+RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[4]+") REFERENCES " +
RawColumnContract.RawColumnEntry.TABLE_NAMES[0] + "("+RawColumnContract.RawColumnEntry._ID+"));";
< /code>
oncreate: < /p>
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {

sqLiteDatabase.execSQL(CREATE_TABLE_ITEM_GROUP);
sqLiteDatabase.execSQL(CREATE_TABLE_ITEM);
}
< /code>
Добавить item_group: < /p>
public boolean addOne(ItemGroup itemGroup) {

openWD();
ContentValues cv = new ContentValues();
cv.put(RawColumnContract.RawColumnEntry.COLUMN_NAME_GROUP_ITEM[1], itemGroup.getItemGroup_Name());

long insert = db.insert(RawColumnContract.RawColumnEntry.TABLE_NAMES[0], null, cv);
return insert != -1;
}
< /code>
Добавить элемент: < /p>
public boolean addOne(Item item) {

openWD();
ContentValues cv = new ContentValues();
cv.put(RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[0], item.getItem_name());
cv.put(RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[1], item.getItem_SKU());
cv.put(RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[2], item.getItem_brand());
cv.put(RawColumnContract.RawColumnEntry.COLUMNS_NAME_ITEM[3], item.getItem_color());

long insert = db.insert(RawColumnContract.RawColumnEntry.TABLE_NAMES[1], null, cv);
return insert != -1;
}


Подробнее здесь: https://stackoverflow.com/questions/767 ... ys-is-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»