Здравствуйте, гость ( Вход | Регистрация )
mva | Дата 27.6.2009, 19:10 | |
mva, про отдельные столбцы желания не понимаю. Т.к. если они будут редактируемые то несколько столбцов должны будут одновременно свои значения менять, чтобы сохранить реляционную связь. Такое ощущение, что вы совсем не работали с реляционными базами данных. Если я изменяю атрибуты (поля) связанной таблицы, то это не значит, что реляционная связь теряется, т.к. я не трогаю значения ключей. Ладно, я уже понял, что в Qt нет полноценной работы с реляционными отношениями таблиц. На таком уровне, как например в Visual FoxPro. Оно и не удивительно, т.к. все это хозяйство передано на уровень SQL серверов. |
||
Litkevich Yuriy | Дата 27.6.2009, 5:36 | |
mva, про отдельные столбцы желания не понимаю. Т.к. если они будут редактируемые то несколько столбцов должны будут одновременно свои значения менять, чтобы сохранить реляционную связь. |
||
mva | Дата 27.6.2009, 4:22 | |
Но там же записаны выражения различной длины и если их "слепить вместе", то в этом столбце получится каша... почему каша?Н-е-е-е... Мне в отдельные столбцы надо... Еще есть какие-нибудь варианты? |
||
Litkevich Yuriy | Дата 26.6.2009, 19:55 | |
Но там же записаны выражения различной длины и если их "слепить вместе", то в этом столбце получится каша... почему каша? |
||
mva | Дата 26.6.2009, 18:36 | |
с помощью только QSqlRelationalTableModel ни как, одно поле заменяется на другое и всё! (одно на одно) Можно поступить так, наиболее простое решение, создать вычисляемый столбец в связанной таблице, и подставлять его. В-о-о-т.... Уже кое-что проясняется... Т.е. вы предлагаете сделать конкатенацию нужных мне полей из связанной таблицы и подставлять ее? Но там же записаны выражения различной длины и если их "слепить вместе", то в этом столбце получится каша... |
||
Litkevich Yuriy | Дата 26.6.2009, 18:32 | |
Что означает здесь циферка 2? Она означает, что во втором (т.е. третьем) столбце таблицы employee находится внешний ключ, здесь всё верно. Разме что я бы сказал более точно (выделил)Как мне сказать Qt, что я хочу из найденной записи взять еще поле phone_code? с помощью только QSqlRelationalTableModel ни как, одно поле заменяется на другое и всё! (одно на одно)Можно поступить так, наиболее простое решение, создать вычисляемый столбец в связанной таблице, и подставлять его. Вот пример: Здесь столбец "Т.У." Это вычисляемое поле в БД (Имя подстанции и номер ячейки, плюс текст "яч.") |
||
mva | Дата 26.6.2009, 18:11 | |
mva, по сути ты не понял, что есть реляционная (относительная) связь в БД. Это место для себя прояснишь, отпадёт вопрос с Qt. С реляционными БД я работаю очень давно (на Visual FoxPro, до этого на FoxPro 2.6. Примерно с 92-го года), хорошо представляю себе что такое... А вот Qt хотя мне в целом нравится, но в плане работы с базами данных представляется мне несколько корявой. Но вернемся к вопросу...
Что означает здесь циферка 2? Она означает, что во втором (т.е. третьем) столбце находится внешний ключ, по которому мы найдем соответствующую запись в таблице city, и подставим вместо него (ключа) значение поля Name из нее. Правильно? Как мне сказать Qt, что я хочу из найденной записи взять еще поле phone_code?
Так? Кажется я понял о чем ты. Если есть таблицы:
То вместо: Вася, Россия, Мухосранск, ул. Ленина, 25 ты хочешь получать: Вася, Россия,[GPS], Мухосранск, [pupulation], [GTM], ул. Ленина, 25, [room], [phone] Так? Примерно так. Я хочу получить НЕСКОЛЬКО полей из таблицы, на которую ссылается ключ таблицы. |
||
SABROG | Дата 26.6.2009, 18:06 | |
Кажется я понял о чем ты. Если есть таблицы:
То вместо: Вася, Россия, Мухосранск, ул. Ленина, 25 ты хочешь получать: Вася, Россия,[GPS], Мухосранск, [pupulation], [GTM], ул. Ленина, 25, [room], [phone] Так? |
||
Litkevich Yuriy | Дата 26.6.2009, 18:04 | |
mva, по сути ты не понял, что есть реляционная (относительная) связь в БД. Это место для себя прояснишь, отпадёт вопрос с Qt. Возьмем этот пример этот пример акуратно имеет два столбца с реляционными связямиCity и Country |
||
mva | Дата 26.6.2009, 17:55 | |
Это что, все эти значения (name, post_index, phone_code) запишутся во второй столбец? Или я чего-то не понимаю? не угадал, в третий, т.к. используется не номер, а индекс столбца.Я имею ввиду конечно индекс и нумерацию с 0. В примере написано "2", значит "второй", стоял бы "0" - тогда был бы "нулевой". Но это не суть... |
||
Просмотр темы полностью (откроется в новом окне) | ||
Текстовая версия | Сейчас: 24.4.2024, 14:10 |