:: Visual Foxpro, Foxpro for DOS
Изменение даты с помощью команды UPDATE
LED
Автор

Сообщений: 204
Дата регистрации: 22.07.2006
Подскажите пож. как можно изменить поле даты с помощью команды UPDATE

С этой функцией работаю очень редко.

Решил изменить данные поле dtreg на DATE(), где dtreg поле формата date
Вообщем попробовал вот так - не получается

update FROM c:\3\pr.dbf set dtreg =date() where regn=4



Появляется сообщение с ошибкой

Как надо правильно написать.
Спасибо.
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
LED
update c:\3\pr.dbf set dtreg =date() where regn=4
И тип поля тут совершенно не при делах.

------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 10.10.17 17:04
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
А сообщение об ошибке можно было бы написать.
А так, похоже, что "несоответствие типов".
Тогда или тип dtreg не дата или тип regn не числовой.
Еще может c:\3\pr.dbf не находит. Или поля dtreg или regn нет.
Это гадание на кофейной гуще.



Исправлено 1 раз(а). Последнее : Ydin, 10.10.17 17:35
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Саш, у него написано
update FROM
То есть без указания ЧТО обновлять.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Да! Вообще, как-то не внимательно читаю
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
LED
Автор

Сообщений: 204
Дата регистрации: 22.07.2006
Спасибо.

А вот если сразу надо несколько полей изменить одновременно?
Допустим есть поля netrg, kfr. Оба числовые.

Вот так будет:

update c:\3\pr.dbf set dtreg =date(),netrg=5, kfr=8 where regn=4
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
PaulWist

Сообщений: 14618
Дата регистрации: 01.04.2004
LED
Спасибо.
А вот если сразу надо несколько полей изменить одновременно?
Допустим есть поля netrg, kfr. Оба числовые.

Вот так будет:

update c:\3\pr.dbf set dtreg =date(),netrg=5, kfr=8 where regn=4

Да.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
В нормальных программах никогда не будут писать путь к таблице в самой команде...
Да даже из командного окна проще сначала сделать USE с полным путём (или через интерфейс открыть таблицу - фокс сам команду USE напишет тогда), а потом уже UPDATE безо всяких C:\.... использовать.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
LED
Автор

Сообщений: 204
Дата регистрации: 22.07.2006
Да, таблица уже была открыта.

А что произойдет если написать путь. Что таблица откроется в другой области?
Она также осталась в той области где и была открыта.
Может скорость изменения данных будет снижена. Но это трудно заметить.

Вообщем Игорь подскажи, просто интересно...
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
VeterVFP

Сообщений: 413
Откуда: Москва
Дата регистрации: 26.12.2006
LED
А что произойдет если написать путь. Что таблица откроется в другой области?
Речь про то, что в программах такой подход совсем неверный (ущербный) и "зашивать" в код программы ЖЕСТКИЕ пути для любых фалов - это моветон и выстрел себе в ногу в ближайшей перспективе.
Нужно открыть таблицу через указание полного пути и потом работать только с ее алиасом.

И как Игорь сказал
Цитата:
даже из командного окна проще сначала сделать USE с полным путём
. А потом делай с ней любые операции


Исправлено 1 раз(а). Последнее : VeterVFP, 13.10.17 11:40
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
LED
Да, таблица уже была открыта.
А что произойдет если написать путь. Что таблица откроется в другой области?
Она также осталась в той области где и была открыта.
Может скорость изменения данных будет снижена. Но это трудно заметить.

Вообщем Игорь подскажи, просто интересно...
Она может вообще не открыться. Как это некоторым не покажется странным, но даже диск С: не обязан быть. Например, была у меня одно время машина, у которой диски начинались с буквы G. Как поведет себя ваша программа в таком случае? Программа должна работать с ЛЮБЫМИ путями, а не с одним жестко прописанным.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
LED
А что произойдет если написать путь.
Ничего (страшного) не произойдёт. До тех пор пока программа не будет перенесена на другую машину, или просто в другую папку. А как это случится, так она и перестанет работать. И админ, вынужденный устанавливать программу строго в папку "c:\3\" скажет много матерных слов по поводу разработчика. И будет совершенно прав
Так зачем же приучаться писать плохо, если можно приучиться писать сразу правильно


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Изменение даты с помощью команды UPDATE
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
ТС в программировании на линухе профан
я гарантирую это


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 16 iczelion  (Гостей: 15)

© 2000-2024 Fox Club 
Яндекс.Метрика