Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / UPDATE = Data type mismatch / 15 сообщений из 15, страница 1 из 1
08.09.2009, 21:20
    #36185096
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Доброе время суток!
Вкратце скажу, следующий запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
UPDATE table1 
SET s_pol=a.s_pol, n_pol=a.n_pol, 
dp=a.dp, dendp=a.dendp, 
sn_pasp=a.sn_pasp, w=a.w, 
town=c.name, ul=a.ul, dom=a.dom, kor=a.kor, str=a.str, kv=a.kv, j
t=a.jt, sp=a.sp, gr=a.gr, ndog=a.ndog, 
old_s_pol=a.old_s_pol, old_n_pol=a.old_n_pol, old_q=a.old_q, old_fam=a.old_fam, 
izsmo="+" 
FROM table2 as a, table3 as c 
WHERE a.fam=table1.fam 
AND a.im=table1.im 
AND a.ot=table1.ot 
AND a.dr=table1.dr 
AND a.dp>table1.dp 
and a.regs=c.code
приводит к ошибке "Data type mismatch". Вроде сделал все типы полей table1 такими же, как и в table2 и table3, а это проблему не решает. В чем проблема? Если надо, могу выложить 3 пустых dbf-файла.
Буду благодарен!
...
Рейтинг: 0 / 0
09.09.2009, 07:14
    #36185344
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Чудес не бывает.
Приведите DDL команды для всех трех таблиц.
С уважением, Алексей
...
Рейтинг: 0 / 0
09.09.2009, 09:11
    #36185449
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Я таблицы делаю не посредством DDL, а с помощью Table Designer в VFP. Могу просто выложить таблицы.
...
Рейтинг: 0 / 0
09.09.2009, 09:13
    #36185450
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
...
Рейтинг: 0 / 0
09.09.2009, 09:13
    #36185452
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
...
Рейтинг: 0 / 0
09.09.2009, 11:51
    #36185872
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
UPDATE table1 ;
SET ;
	s_pol=a.s_pol, ;
	n_pol=a.n_pol, ;
	dp=a.dp, ;
	dendp=a.dendp, ;
	sn_pasp=a.sn_pasp, ;
	w=a.w, ;
	town=c.name, ;
	ul=a.ul, ;
	dom=a.dom, ;
	kor=a.kor, ;
	str=a.str, ;
	kv=a.kv, ;
	j ;				&& это что?
	t=a.jt, ;
	sp=a.sp, ;
	gr=a.gr, ;
	ndog=a.ndog, ;
	old_s_pol=a.old_s_pol, ;
	old_n_pol=a.old_n_pol, ;
	old_q=a.old_q, ;
	old_fam=a.old_fam, ;
	izsmo="+" ;
FROM ;
	table2 as a, ;
	table3 as c ;
WHERE 	a.fam=table1.fam ;
	AND a.im=table1.im ; 
	AND a.ot=table1.ot ;
	AND a.dr=table1.dr ;
	AND a.dp>table1.dp ;
	and a.regs=c.code
...
Рейтинг: 0 / 0
09.09.2009, 12:01
    #36185909
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Опечатка - просто команда была в одну строку, сам перевел в более читабельный вид. Вернее так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
UPDATE table1 ;
SET ;
	s_pol=a.s_pol, ;
	n_pol=a.n_pol, ;
	dp=a.dp, ;
	dendp=a.dendp, ;
	sn_pasp=a.sn_pasp, ;
	w=a.w, ;
	town=c.name, ;
	ul=a.ul, ;
	dom=a.dom, ;
	kor=a.kor, ;
	str=a.str, ;
	kv=a.kv, ;
	jt=a.jt, ;
	sp=a.sp, ;
	gr=a.gr, ;
	ndog=a.ndog, ;
	old_s_pol=a.old_s_pol, ;
	old_n_pol=a.old_n_pol, ;
	old_q=a.old_q, ;
	old_fam=a.old_fam, ;
	izsmo="+" ;
FROM ;
	table2 as a, ;
	table3 as c ;
WHERE 	a.fam=table1.fam ;
	AND a.im=table1.im ; 
	AND a.ot=table1.ot ;
	AND a.dr=table1.dr ;
	AND a.dp>table1.dp ;
	and a.regs=c.code
...
Рейтинг: 0 / 0
09.09.2009, 12:02
    #36185912
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Запрос пошел, если уберу, например, либо s_pol=a.s_pol, либо dp=a.dp. Это к чему?
...
Рейтинг: 0 / 0
09.09.2009, 15:12
    #36186526
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
VadyЗапрос пошел, если уберу, например, либо s_pol=a.s_pol, либо dp=a.dp. Это к чему?
У меня ваш запрос выполняется на ваших пустых таблицах.
Опубликуйте таблицы с данными. Иначе, беспредметный разговор
С уважением, Алексей.
P.S. Кстати, в запросе используется таблица table2, а вы опубликовали tabe2
...
Рейтинг: 0 / 0
09.09.2009, 15:17
    #36186539
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
VadyЗапрос пошел, если уберу, например, либо s_pol=a.s_pol, либо dp=a.dp. Это к чему?
Тогда "вкратце" не достаточно. Нужны более подробные пояснения. Как вы создаете сам запрос? Это символьная строка, которая выполняется через макроподстановку?

Если проблема решается ограничением длины команды (вероятно, до 255 символов), значит, вы не корректно формируете саму команду. Пытаетесь все впихнуть в одну символьную константу не разбивая на части. Либо где-то происходит обрезание результирующей строки.
...
Рейтинг: 0 / 0
09.09.2009, 16:13
    #36186752
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
ВладимирМ, запрос пишу ручками, а именно в Command Window VFP9. Пробовал разбивать - та же ошибка.
Этот запрос работает только в том случае, если where не отберет ни одну строку.
INSERT-ом ВСЕ эти данные успешно добавляются. А если попытаться обновить старые данные новыми, вот Data type mismatch!
Насчет публикации таблиц с данными - есть такое понятие, как конфиденциальная информация.
...
Рейтинг: 0 / 0
09.09.2009, 18:29
    #36187191
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Попробуйте написать запрос в файле PRG и выполнять этот запрос из файла. Возможно, при записи такого громоздкого запроса в командном окне вы что-то затираете или пропускаете. Может, точку с запятой не поставили для переноса строки, может выделили только часть запроса, мало ли... С файлом PRG подобной не однозначности не будет.

Т.е. я предполагаю, что в командном окне или при запуске вы допустили синтаксическую ошибку. Компиляция PRG подобную ошибку сразу покажет.
...
Рейтинг: 0 / 0
09.09.2009, 19:15
    #36187248
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
VadyНасчет публикации таблиц с данными - есть такое понятие, как конфиденциальная информация. Ну, есть ведь и такое понятие, как chrtran от алфавита и рандомной строки над символьными полями.
...
Рейтинг: 0 / 0
12.09.2009, 00:18
    #36192165
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Посмотрел таблицу Table1 после запуска того самого запроса с UPDATE вместе с ошибкой, о которой уже говорил. Оказывается, данные в таблице Table1 изменились, запрос работает как нужно. Никак не могу понять, почему выдает ошибку. Спасибо всем!
...
Рейтинг: 0 / 0
16.09.2009, 16:31
    #36199584
Vady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE = Data type mismatch
Проверил неделю. На самом деле обновляются не все данные - только одна строка и половина полей. Нашел ошибку - поля w=a.w имеют разные типы данных.
Дико извиняюсь за беспокойство и глупую ошибку!
Пусть каждый откликнувшийся сделает мне шелбан!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / UPDATE = Data type mismatch / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]