Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2009, 18:57   #1
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию Ошибка отображения данных в результате sql запроса в BDE

Добрый день!!! Никогда не встречались в BDE с проблемой ошибочного отображения данных. Например если при помощи скрипта, который обращается к 3 таблицам, причем с формой запроса использующую inner join, протянуть данные то данные из первой таблицы отображаются нормально, то есть читабельные, из двух других данные выводятся таким образом как будто драйвер парадокса настроен неправильно... Если у вас есть решение этой проблемы, то я буду благодарен...

а скприпт приблизительно такой

Select *
from table1, table2, (table3 inner join table4 on
table3.field1 = table4.field2)

в результате всего этого данные из таблицы выводятся нормально... а вот данные из таблицы 3 выводятся в виде загадочных кракозябр. Хотя драйвер в BDE для Paradox установлен правильно dbase RUS cp866
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:16   #2
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

А без Sql запроса по отделности таблицы нормально отображаются?
Выложите Sql запрос который вы используете.
Evgeniy26 вне форума Ответить с цитированием
Старый 31.05.2009, 19:25   #3
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Да... без sql все нормально отображается
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:25   #4
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Select reghoz.id, reghoz.nod0, reghoz.nod1, reghoz.nod2, reghoz.name, matter_debt.id_mtr, matter_debt.pd_id, matter_debt.id_reg, matter_debt.id_hoz, matter_debt.n_matter, matter_debt.sum_debt, matter_debt.dat_clam_jd, matter_debt.dat_act_low, matter_debt.dat_fail_act, matter_debt.dat_liquid_debt, matter_debt.sum_liquid_debt, matter_debt.sum_state_duty, judi_session.id_js, judi_session.mtr_id, judi_session.dat_start_js, judi_session.note, court_decision.id_cd, court_decision.mtr_id, court_decision.js_id, court_decision.dat_cd, court_decision.date_take_co, court_decision.dat_giv_co, court_decision.sum_debt_lc, court_decision.sum_debt_istec, court_decision.sum_debt_neust, court_decision.sum_debt_sd
from reghoz, matter_debt, (judi_session left join court_decision on
judi_session.id_js = court_decision.js_id and
judi_session.mtr_id = court_decision.mtr_id)
where reghoz.NOD0 = 1 and reghoz.NOD1 <> 0 and matter_debt.id_hoz = reghoz.NOD2 and matter_debt.id_mtr = judi_session.mtr_id and judi_session.id_js = court_decision.js_id
Group by reghoz.id, reghoz.nod0, reghoz.nod1, reghoz.nod2, reghoz.name, matter_debt.id_mtr, matter_debt.pd_id, matter_debt.id_reg, matter_debt.id_hoz, matter_debt.n_matter, matter_debt.sum_debt, matter_debt.dat_clam_jd, matter_debt.dat_act_low, matter_debt.dat_fail_act, matter_debt.dat_liquid_debt, matter_debt.sum_liquid_debt, matter_debt.sum_state_duty, judi_session.id_js, judi_session.mtr_id, judi_session.dat_start_js, judi_session.note, court_decision.id_cd, court_decision.mtr_id, court_decision.js_id, court_decision.dat_cd, court_decision.date_take_co, court_decision.dat_giv_co, court_decision.sum_debt_lc, court_decision.sum_debt_istec, court_decision.sum_debt_neust, court_decision.sum_debt_sd
union
Select reghoz.id, reghoz.nod0, reghoz.nod1, reghoz.nod2, reghoz.name, matter_debt.id_mtr, matter_debt.pd_id, matter_debt.id_reg, matter_debt.id_hoz, matter_debt.n_matter, matter_debt.sum_debt, matter_debt.dat_clam_jd, matter_debt.dat_act_low, matter_debt.dat_fail_act, matter_debt.dat_liquid_debt, matter_debt.sum_liquid_debt, matter_debt.sum_state_duty, judi_session.id_js, judi_session.mtr_id, judi_session.dat_start_js, judi_session.note, court_decision.id_cd, court_decision.mtr_id, court_decision.js_id, court_decision.dat_cd, court_decision.date_take_co, court_decision.dat_giv_co, court_decision.sum_debt_lc, court_decision.sum_debt_istec, court_decision.sum_debt_neust, court_decision.sum_debt_sd
from reghoz, matter_debt, (judi_session left join court_decision on
judi_session.id_js = court_decision.js_id and
judi_session.mtr_id = court_decision.mtr_id)
where reghoz.NOD0 = 1 and reghoz.NOD1 <> 0 and reghoz.NOD2 = 0 and reghoz.NOD1 = matter_debt.id_reg and matter_debt.id_mtr = judi_session.mtr_id and judi_session.id_js = court_decision.js_id
Group by reghoz.id, reghoz.nod0, reghoz.nod1, reghoz.nod2, reghoz.name, matter_debt.id_mtr, matter_debt.pd_id, matter_debt.id_reg, matter_debt.id_hoz, matter_debt.n_matter, matter_debt.sum_debt, matter_debt.dat_clam_jd, matter_debt.dat_act_low, matter_debt.dat_fail_act, matter_debt.dat_liquid_debt, matter_debt.sum_liquid_debt, matter_debt.sum_state_duty, judi_session.id_js, judi_session.mtr_id, judi_session.dat_start_js, judi_session.note, court_decision.id_cd, court_decision.mtr_id, court_decision.js_id, court_decision.dat_cd, court_decision.date_take_co, court_decision.dat_giv_co, court_decision.sum_debt_lc, court_decision.sum_debt_istec, court_decision.sum_debt_neust, court_decision.sum_debt_sd
ORDER BY nod2, ID_JS
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:26   #5
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Это сам запрос
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:28   #6
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

При отображении данные выводятся непонятными символами из таблицы judi_session... В точности такие -же как будто драйвера вовсе нет
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:41   #7
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

from reghoz, matter_debt, (judi_session left join court_decision on
judi_session.id_js = court_decision.js_id and
judi_session.mtr_id = court_decision.mtr_id)
- что это?
Где псевдоним и такой подзапрос таблицу не вернет.
Хотябы так: (Select * From judi_session left join court_decision on
judi_session.id_js = court_decision.js_id and
judi_session.mtr_id = court_decision.mtr_id)
Я уж дальше смотреть не стал.
Evgeniy26 вне форума Ответить с цитированием
Старый 31.05.2009, 19:46   #8
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Данные возвращаются... Я проверил на BDE для Delphi 7. Единственная пролема в отображении данных
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 19:48   #9
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Это одна таблица - (judi_session left join court_decision on
judi_session.id_js = court_decision.js_id and
judi_session.mtr_id = court_decision.mtr_id) которая прямо связана с с таблицей matter_debt. Ну а matter_debt в свою очередь связана reghoz...
Serjio77 вне форума Ответить с цитированием
Старый 31.05.2009, 20:30   #10
Serjio77
Новичок
Джуниор
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию

Ну а то что касается скрипта, то это - декартовое умножени трех таблиц... Впринципе вы сами можете кго попробовать... Вы достигните приблизительно того же результата....
Serjio77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с запросом SQL. Ошибка синтаксиса в выражении запроса. ZiG24RUS Microsoft Office Access 1 19.05.2009 06:29
Ошибка Sql запроса Yrok БД в Delphi 8 13.03.2009 09:08
Ошибка выполнения sql запроса при изменении данных XATAB БД в Delphi 4 28.02.2009 15:44
присвоить переменной целого типа значение поля key полученное в результате выполнения SQL запроса Worms БД в Delphi 5 10.01.2008 21:07