|
| Hvorfor virker denne SQl kun på programmer~ Fra : Frank Mikkelsen |
Dato : 28-06-01 15:28 |
|
Hvad er der galt? Sagsnummer, datotil og datofra er brugerangivne data.
Databasen er en Oracle 8i.
SELECT p.initialer, f.dato, f.timer, f.minutter, t.art, t.type,
f.bemaerkning, f.notat, f.debiteret FROM tblType t, tblTidsforbrug f,
tblPerson p Where f.sagsnummer = '" & lblSagsnummer.Caption & "' AND '" &
datofra & "' <= TO_DATE(f.dato, 'DD-MM-YYYY')AND '" & datotil & "' >=
TO_DATE(f.dato,'DD-MM-YYYY')AND t.type_ID = f.type AND f.person_ID =
p.person_id ORDER BY TO_DATE(f.dato, 'DD-MM-YYYY');
MVH Frank
| |
Bjarke Walling Peter~ (28-06-2001)
| Kommentar Fra : Bjarke Walling Peter~ |
Dato : 28-06-01 21:36 |
|
"Frank Mikkelsen" <flm@it.dk> skrev i en meddelelse
news:9hfeut$1oo3$1@news.cybercity.dk...
> Hvad er der galt? Sagsnummer, datotil og datofra er brugerangivne data.
> Databasen er en Oracle 8i.
>
> SELECT p.initialer, f.dato, f.timer, f.minutter, t.art, t.type,
> f.bemaerkning, f.notat, f.debiteret FROM tblType t, tblTidsforbrug f,
> tblPerson p Where f.sagsnummer = '" & lblSagsnummer.Caption & "' AND '" &
> datofra & "' <= TO_DATE(f.dato, 'DD-MM-YYYY')AND '" & datotil & "' >=
> TO_DATE(f.dato,'DD-MM-YYYY')AND t.type_ID = f.type AND f.person_ID =
> p.person_id ORDER BY TO_DATE(f.dato, 'DD-MM-YYYY');
Nu er jeg jo godt nok elendig til sql, men... ville det ikke være smartere
at formatere datoerne i formatet YYYY-MM-DD ?...
Eks.: 05-11-2001 > 02-07-2002 er true
2001-11-05 > 2002-07-02 er false
Men jeg ved ikke om det er det - jeg kender ikke til TO_DATE(a,b)...
- Bjarke
| |
Tomas Christiansen (02-07-2001)
| Kommentar Fra : Tomas Christiansen |
Dato : 02-07-01 07:17 |
|
Frank Mikkelsen skrev:
> Hvad er der galt? Sagsnummer, datotil og datofra er brugerangivne data.
> Databasen er en Oracle 8i.
Det ville jo hjælpe EN HEL DEL hvis du f.eks. kom med en fejl-kode!
> SELECT p.initialer, f.dato, f.timer, f.minutter, t.art, t.type,
> f.bemaerkning, f.notat, f.debiteret FROM tblType t, tblTidsforbrug f,
> tblPerson p Where f.sagsnummer = '" & lblSagsnummer.Caption & "' AND '" &
> datofra & "' <= TO_DATE(f.dato, 'DD-MM-YYYY')AND '" & datotil & "' >=
1. Normalt ville man definere <f.date> som et felt af typen Date og så
konvertere <datofra> og <datotil> til datoer i stedet for blot at sætte
<'>er omkring.
2. Der mangler mellemrum mellem <)> og <AND>.
> TO_DATE(f.dato,'DD-MM-YYYY')AND t.type_ID = f.type AND f.person_ID =
3. Her konverteres <f.dato> igen til en dato - hvorfor er feltet ikke
defineret som en dato i databasen?
4. Der mangler mellemrum mellem <)> og <AND>.
5. Hvilken type er <t.type_ID> og <f.person_ID>? Tal eller streng eller?
Skal der <'> omkring værdien?
> p.person_id ORDER BY TO_DATE(f.dato, 'DD-MM-YYYY');
6. <f.dato> igen... ?
-------
Tomas
| |
|
|