Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

[ODBC Microsoft Access Driver] Syntax error (missing operator)....

  • 3 odgovora
  • 2.816 pregleda

Najnovija ↓

[ODBC Microsoft Access Driver] Syntax error (missing operator).... 08.06.2010. u 18:25 · pre 199 meseci #1
pokusavam da izvrsim ovaj SQL upit iz jave nad Access 2007 bazom,
Code:
INSERT INTO TProjekcija (datum, vrijeme, opis, filmID, salaID) VALUES ( '09.15.2010' '22:15' 'nesto' 1 1)

medjutim, javlja mi gresku,
Code:
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ' '09.15.2010' '22:15' 'ssdd' 1 1'.


pretpostavljam da je problem u ovom diju vezanom za datum i vrijeme, posto svi upiti koji nemaj datum/vrijeme rade. u tabeli sum mi polja datum i vrijeme podeseni na short date, short time, i input mask na 99.99.0000 i 00:00, probao sam sve varijante koje su mi pale na pamet, sa ##, pa sve kombinacije # i ', pa i puni format yyyy-MM-dd HH:mm:ss, i svaki put ista greska!
nisam nesto posebno iskusan u access-u, pa bih molio nekoga ko je imao iskustva sa ovim da pomogne
Re: [ODBC Microsoft Access Driver] Syntax error (missing operator).... 08.06.2010. u 20:39 · pre 199 meseci
izmenjeno 1 put, poslednji put Zidar 08.06.2010. u 20:54
  1. Zidar08.06.2010. u 20:54zapis iz teksta poruke
#3
Djoka je u pravu delimicno. Zarezi su svakako neophodni, ali nisu dovoljni. Datum nije u dobrom formatu.
Bez obzira na tvoje lokalno podesavnje, Access za querije prihvata datum samo i samo u americkom formaty, "mm/dd/yy". Dakle, mesec, dan, godina odvojeni kosom crtom. O tome imas vise na ovom linku: http://allenbrowne.com/ser-36.html

Tvoj kod bi morao da izgleda ovako:

Code:
INSERT INTO TProjekcija (datum, vrijeme, opis, filmID, salaID) VALUES ( #09/15/2010#, '22:15' ,'nesto' ,1 ,1)


Posto radis u javi, onda verovatno moras da sagradis string koji tacno tako izgleda. Da bi sagradio string, mozes upotrebiti ovu funkciju koja konvertuje datume u korektan format (preuzeto sa datog linka).
Code:

Function SQLDate(varDate As Variant) As String
    'Purpose:    Return a delimited string in the date format used natively by JET SQL.
    'Argument:   A date/time value.
    'Note:       Returns just the date format if the argument has no time component,
    '                or a date/time format if it does.
    'Author:     Allen Browne. [email protected], June 2006.
    If IsDate(varDate) Then
        If DateValue(varDate) = varDate Then
            SQLDate = Format$(varDate, "\#mm\/dd\/yyyy\#")
        Else
            SQLDate = Format$(varDate, "\#mm\/dd\/yyyy hh\:nn\:ss\#")
        End If
    End If
End Function


:-)
Re: [ODBC Microsoft Access Driver] Syntax error (missing operator).... 08.06.2010. u 23:14 · pre 199 meseci #4
hvala obojici, djelimicno sam rijesio problem, inace bez zareza nikako ne moze, doslo mi je da udaram od monitor glavom od sramote, taj se zarez zagubio zbog loseg generickog upita, ali dobro, najcesce se grijesi na najbanalnijim stvarima...
sad mi opet nesto puca jer je to sve dio transakcije, ali je najludje sto je sad poruka exceptiona prazna, totalno sam zbunjen, ali nema veze...
inace, Zidar, proradilo mi je i samo sa . (tackama), koristio sam simpleDateFormat za formatiranje, i nekako radi...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme