| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Помогите найти ошибку |
| Автор: BORINSHTEIN 7.5.2008, 16:59 | ||
пишет Parameter name expected |
| Автор: BORINSHTEIN 7.5.2008, 17:31 |
| Вообще я правильно пытаюсь в датасете прописать для случая многие ко многим ? |
| Автор: Fortop 7.5.2008, 18:06 | ||
Объясни, каким образом ты надеешься вытащить поле AID находящееся в таблице AUTHOR из таблицы AUTHORSHIP? |
| Автор: BORINSHTEIN 7.5.2008, 18:19 | ||
Не успел отписать. Это я заметил. написал новое, но что-то опять не пашет (((
Добавлено через 10 минут и 3 секунды При попытке добавить поля в датасет выдает Dynamic SQL Error SQL error code= -104 Token unknown - line 3, column 34 |
| Автор: Fortop 8.5.2008, 00:12 | ||
Не понимает вот этой конструкции
Добавлено через 55 секунд Это, ты бы структуры привел что ли Было бы гадать удобнее |
| Автор: Deniz 8.5.2008, 05:09 | ||
| BORINSHTEIN, а для чего там ";" в конце запроса? И еще, лучше заменить конструкцию типа select ... from ... where field in (select ...) на обычный join, практически всегда можно.
|
| Автор: BORINSHTEIN 10.5.2008, 11:39 |
| Fortop, да есть BOOKS и есть AUTHOR. Связь многие ко многим. И есть таблица AUTHORSHIP, в которой поля BID и AID - это ключи из BOOKS и AUTHOR. Вроде бы не все так мудрено, но вот что-то не выходит. |
| Автор: Fortop 10.5.2008, 11:45 | ||||
BORINSHTEIN, если у тебя BOOKS это таки таблица, то возможно стоит делать так?
или так
|
| Автор: BORINSHTEIN 10.5.2008, 11:49 |
| Ща испытаем =) Добавлено через 7 минут и 35 секунд Fortop, спасибо. |
| Автор: BORINSHTEIN 10.5.2008, 12:23 |
| Произошли какие-то косяки ((( В способе с JOIN. Только хотел сменить Active датасета на True, как вышла ошибка Column unknown ASNAME (Фамилия автора). А если использую другой способ то пишет при добавлении полей в датасет Column unknown BOOKS.BID |
| Автор: Fortop 10.5.2008, 13:10 |
| BORINSHTEIN, в первом способе у тебя данные только из таблицы AUTHOR Во втором (где JOIN), из всех таблиц, но возможно у тебя имеются одинаковые названия столбцов поэтому лучше вместо * явно указать ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ для всех данных, которые ты хочешь получить. Добавлено через 2 минуты и 16 секунд Ах, да. В первом способе действительно не найдет BOOKS.BID - используй лучше тот что с JOIN а первый нужно переделать с использованием вложеных подзапросов. |
| Автор: BORINSHTEIN 10.5.2008, 13:20 |
| Нет, ну конечно BID - это первичный ключ BOOKS, но он так же содержится как внешний ключ в таблице AUTHORSHIP |
| Автор: Fortop 10.5.2008, 13:28 |
| BORINSHTEIN, абсолютно ничего непонятно проверяй все свои запросы в первую очередь в IBExpert, потом уже используй в компонентах. |
| Автор: BORINSHTEIN 10.5.2008, 13:28 |
| В наборе данных появились поля. Мне кажется что в наборе данных стоит что-то удалить из этого ? AID - Идентификатор из Авторов ASNAME - Фам (Авторы). AFNAME - Имя. (Авторы) ALNAME - Отч (Авторы) BID - Идентификатор из Книги AID1 - из таблицы Авторство. (но н так же назывался AID. В наборе данных сдал AID1, видимо из-за повторения) BID1 - из таблицы Книги ( АНАЛОГИЧНО ) BNAME - Название киги BYEAR - Год издания PID - Издатель (Идентификатор. Сменю на лукап) |
| Автор: Fortop 10.5.2008, 15:01 |
| BORINSHTEIN, как я и говорил, попробуй ограничить вывод, явным указанием полей и из какой базы ты берешь. ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ Возможно, это поможет. |
| Автор: BORINSHTEIN 10.5.2008, 15:23 | ||
мне еще говорили в универе, что возможно так
connst - это какя-то константа, а куда куда и с чем ее есть я так и не понял |
| Автор: BORINSHTEIN 10.5.2008, 15:39 |
| И еще странно, выводит не все книги ... |
| Автор: BORINSHTEIN 10.5.2008, 18:23 |
| А как в моём случае использовать LEFT OUTER JOIN / RIGTH OUTER JOIN |
| Автор: Fortop 10.5.2008, 18:46 |
| BORINSHTEIN, точно так же как и просто JOIN. |
| Автор: Alessias 26.8.2008, 14:09 | ||
| если я правильно понял, тебе надо,чтобы выводило что-то вроде "Автор - книга" тогда запрос может выглядеть как
еще вопрос - а нужна ли таблица "авторство", не проще ли в каждой книге хранить id автора? |