Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / По какой причине не реплейсятся записи в таблице / 7 сообщений из 7, страница 1 из 1
13.06.2007, 10:19
    #34590843
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
По какой причине такое происходит:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
	SELECT 	dohod_st.id,;
			payments.name as pay_name,;
			dohod_st.name,;
			dohod_st.how_many,;
			payments.code,;
			payments.code_bin,;
			DTOT({}) as d_exec;
	from 	dohod_st;
	LEFT OUTER JOIN payments;
	on payments.id=dohod_st.pay_date;
	where	dohod_st.in_worck;
	into cursor _ readwrite nofilter
		
SELECT money_dvig
APPEND BLANK
replace date_trans WITH DATE() IN money_dvig 
replace how_many WITH _.how_many IN money_dvig 
replace inf	WITH ALLTRIM(_.name)+', '+ALLTRIM(_.pay_name) IN money_dvig 
в таблице money_dvig изменяется только date_trans, а how_many не изменяется да и поле inf содержит только ','. Типы полей одинаковы: Double 8,2
...
Рейтинг: 0 / 0
13.06.2007, 10:50
    #34590947
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
Начни с нормального имени курсора. Затем посмотри а реально в нем записи есть. И если есть где стоит указатель записи.
...
Рейтинг: 0 / 0
13.06.2007, 12:32
    #34591331
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
В имени проблем нет. Проверено. В курсоре "_" всего одна запись и указатель именно на ней.
...
Рейтинг: 0 / 0
13.06.2007, 14:06
    #34591750
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
В replace тоже все правильно. А отладчиком посмотреть?
после select'а поставь SET STEP ON и смотри что реально в _.how_many и т.д.
можешь после select'а BROW поставить и посмотреть на результат запроса.

А про имя курсора (даже если фокс проглотит) - подумай о тех кто после тебя твою писанину сопровождать будет? Нехорошо так незнакомым людям гадить

PS 1. Вот это тоже забавно написано on payments.id=dohod_st.pay_date
2. Пустое поле datetime можно так задать {.. ::}
...
Рейтинг: 0 / 0
13.06.2007, 14:19
    #34591800
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
Все... проблема исчерпана. Спасибо всем, кто принимал активное участие.

Дело в том что после селекта, он для чтения/записи, был цикл:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	LOCAL dDateTime
	LOCAL cDateTime
	SELECT (ali)
	SCAN 
		cDateTime = code
		dDateTime = &cDateTime
		replace d_exec WITH CTOT(dDateTime)
	ENDSCAN
а после выполнения цикла позиция курсора в созданном курсоре в конце курсора... вот и все.
Спасибо.
...
Рейтинг: 0 / 0
13.06.2007, 15:10
    #34592027
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
М... да ... уж ...

Настоятельно рекомендую над оформлением кода задуматься. Такое впечатление что написано "назло врагам"
Не мешало бы книжку по этому поводу какую почитать. Есть такая вещь как читаемость кода, на нормальный код смотришь и все понимаешь без комментариев, а твое творчество комментариями тяжело вылечить.
Почитай про венгерскую нотацию (в форуме было) ты ее попытался использовать, но так переврал, что лучше бы без нее:
Код: plaintext
1.
2.
		cDateTime = code
		dDateTime = &cDateTime
		replace d_exec WITH CTOT(dDateTime)
dDateTime - вроде подразумевается тип DATE, а дальше CTOT(dDateTime) - оказалось неожиданно что там строка была, да еще и с датой-временем.
Макроподстановки только в крайнем случае, когда без них никак. Незнаю что там в code, может макроподстановка вообще не нужна, но можно написать dDateTime = eval(code)

Сам же через полгода в этот код заглянешь что-нибудь добавить и окажется что проще заново переписать, чем понять что там происходит.
...
Рейтинг: 0 / 0
13.06.2007, 21:01
    #34593147
splayn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
По какой причине не реплейсятся записи в таблице
ок. учту.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / По какой причине не реплейсятся записи в таблице / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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