![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка BDE или что?
chum © (2003-06-30 10:56:00)Выполняю запрос:
insert into table1.db
(name)
select distinct s1_v3 as name
from table2.dbf
where not s1_v3 in
(
select name
from table1.db
)
После выролняю:
select distinct s1_v3 as name
from table2.dbf
where not s1_v3 in
(
select name
from table1.db
)
По логике не должно выбираться ни каких записей, а выбираются все записи из table2.dbf. name - это строковое поле. Записи - русскими буквами. BDE настроен так, что в SQL-explorer буквы отображаются корректно. Не подскажете как быть?
Johnmen (2003-07-01 13:43:00) [1]Попробуй следующее :
- даблклик на Database1 -> указываем алиас -> жмем Defaults -> выставляем LANGDRIVER для переопределения
- то же самое для Database2 с тем же LANGDRIVER
- выполняем тестовый запрос
chum (2003-07-01 13:15:00) [2]100 раз проверял, но толку никакого. Все дело в BDE. Где-то ошибка
Johnmen (2003-06-30 17:14:00) [3]См.настройки алиасов - установка языкового драйвера.
chum (2003-06-30 17:04:00) [4]Если первая таблица пуста, то в неё попадают все записи из второй, а если выполнить запрос дважды, то всё записи удвоятся.
во второй таблице простро текстовые строки на русском языке.
мне кажктся всё дело в том, что таблицы разные (dbase и paradox).
Если создать paradox таблицы с такими же полями как и во второй, и выполнить запрос, то всё работает как надо. Но это не очень удобно
Johnmen (2003-06-30 12:18:00) [5]А после инсерта что в таблице 1 ?
И что во второй на момент тестового запроса ?
chum (2003-06-30 12:13:00) [6]Мой вариант не содержит ошибки, но попробовал ваш вариант, ничего не изменилось. Такое впечатление, что при обработке запроса, строки сравниваются без использования драйвера кодировки.
bushmen (2003-06-30 11:43:00) [7]А с чего ты решил, что не доолжно выбираться ни одной записи?
А есди запрос переписать так: "where s1_v3 not in"?