2012-01-29 2 views
0

Я новичок в разработке Android. Я разрабатываю приложение для телефонной книги. Я делаю это, пытаясь заполнить телефонную книгу контактами. Каждый контакт имеет имя, номер и адрес электронной почты. Поскольку каждый из трех находится в отдельной базе данных, я читаю контакт, телефон и адрес электронной почты в этом порядке. Основываясь на contactId, я извлекаю из первого чтения, я запрашиваю две другие таблицы. Однако контактные данные из базы данных контактов не совпадают с данными в телефоне и электронной почте. Мое предположение - это Contacts._ID, который должен быть ключом для всех трех таблиц. Пожалуйста, дайте мне знать, если я делаю что-то не так.значение идентификатора контакта в android

ответ

0

Когда вы говорите, что вы разделили БД, вы имеете в виду разные таблицы в одной и той же базе данных? В любом случае вам нужно использовать так называемый «внешний ключ». Я уверен, что если вы его найдете, вы найдете много информации

Предполагая, что вы используете реляционную базу данных, предположим, что у вас есть таблица T1 со столбцом, который является «первичным ключом» (пожалуйста, google it too), скажем, T1_PK. Предположим, у вас есть вторая таблица T2, которая ссылается на первую, как в вашем случае, таблицу с адресами электронной почты для данного контакта. В этой второй таблице вам нужен столбец типа T1_FK, который «указывает» на необработанное значение в T1, где хранится связанный контакт: этот столбец будет хранить значения, которые в T1 находятся в столбце T1_PK.

Вы можете использовать SQL и ключевое слово JOIN для команды SELECT для создания представления (вы также можете использовать его в Google с реляционной базой данных), которая содержит всю информацию во всех таблицах.

+0

Thx Herschel. Я взял contact_id в качестве общего столбца в контактах и ​​телефонной таблице ... он решил мою проблему. – rahul

0

Для идентификации соответствующих записей (может быть, не контактов) не должно быть уникального идентификатора по таблицам, это может быть только идентификатор из таблицы контактов.