Czas, Data, AutoInc, Sql...

Odpowiedz Nowy wątek
2006-10-21 03:56
atp2000
0

Witam ponownie!

Mam pewien problem, a mianowicie.

1) Chce porownac czas - godzine, tzn. Chce aby nie mozna bylo dodac do bazy rekordu o godzinie, ktora wybieram sobie na formie poprzez DateTimePicker, ktora jest mniejsza od godziny obecnej czyli "now". Z data sobie poradzilem:

If DateTimePicker1.Date>=StrToDate(Label1.Caption)
then
...

,lecz z godzina niestety. Myslalem, ze to bedzie podobnie, tj.:
If DateTimePicker2.Time>=StrToTime(Label3.Caption)
then
...
Dalem wczesniej formatowanie na 'HH:mm', bo w DateTimePicker2, tez takie mam, ale to pewnie nie ma wplywu. Jednak nie reaguje na IF'a.

2) Chce skasowac wszystkie rekordy utworzone wczesniej w tabeli, oprocz tych ktorych data utworzenia jest >= od obecnej.

3) Mam pole AutoInc i czy naprawde nie mozna wyzerowac tego pola. Szukalem i nic (moze slabo szukalem). Jezeli nie to po jakiej cyfrze sie wyzeruje samo, tzn. ile maxymalnie bedzie rekordow, az licznik sie wyzeruje, przekreci i znowu zacznie od 1?

4) A jaka moze byc procedura dla numerowania rekordow (nie w sql'u). Wiem, ze cos z For, ale niestety nic dalej.

5) Jaki mam dac warunek w sql'u, ze jak nie znajdzie danego rekordu to zeby wyskoczylo np.: ShowMessage('Nie ma takiego rekordu').

6) Jak skasowac w sql'u podswietlony rekord w DBGrid, bo wyskakuje mi blad:
Error creating cursor handle

Pisze program oparty troche na sql'u (SELECT * ...), troche na normalnych bazach (Table1.Locate ...), ale wszystko na tabelach Paradox.

Za odpowiedzi serdecznie dziekuje.

Pozdrawiam

atp2000

Prosilbym o jakies chociaz wskazowki, bo stoje w miejscu z moja praca, z ktora i tak ciezko mi idzie.

Pozdrawiam

atp2000

Pozostało 580 znaków

2006-10-22 00:07
0

nie wiem, czy to cos pomoze, ale moze :]

jezeli umiesz PHP, to obsluge bazy zrob w nim, a delphi zaprzegnij do pobierania wynikow od php i wydawania polecen skryptom php... w php wiele rzeczy jest latwiej zrobic, a na dodatek masz mniejsza szanse, ze w pseudolosowym momencie wywali Ci access violation :]


Pozostało 580 znaków

2006-10-22 15:43
0

Witam.
AD2.
DELETE FROM twoja_tablica WHERE data_zapisu BETWEEN "podajesz date dzisiejsza" AND "podajesz date wieksza"
(chociaż nie zabardzo rozumiem sens tego problemu czemu usuwac rekordy z data wieksza od dzisiejszej to wyglada na to ze wstawiasz je tam z jakims wyprzedzeniem ?? ;>)
AD3.
Jeśli chodzi o pole typu autoinc to możesz zmienić jego typ na integer wykonać
na nim swoje operacje i nastepnie spowrotem przywrócić typ autoinc.

Pozostało 580 znaków

2006-10-22 20:35
atp2000
0

Witam!

Dzieki za odpowiedzi.

PHP niestety nie umiem.

A co do nizszego postu to:

Chce skasowac date wczesniejsza od obecnej. Ale jak to mozna zrobic nie w sql'u?
A jak z poziomu programu zmienic pole AutoInc na Integer i odwrotnie (pewnie analogia). Operuje na TTable.

No i oczywiscie prosze o odpowiedzi na inne punkty.

Pozdrawiam

atp2000

Pozostało 580 znaków

2006-10-23 07:38
0

Witam.
Zmienic typ pola możesz sql-em np. tak
ALTER TABLE nazwa_tabeli MODIFY (nazwa_pola nowy_typ_pola);
Pozdro hej

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0