VPrijavaPrijavi se

MySQL

Arhiva28 odgovora· poslednji 28. jul 2011.
ME

Ima li ljudi koji rade u MySQL-u?
To bi podrazumevalo pravljenje upita nad relacionom bazom podataka.

Znam da sam optimista po ovom pitanju, ali ako ima nekoga ko se radi time, aj' da se javi da šeringujemo znanje.

· · · · · ·
LI

ja sam datum u bazu upisivao kao string, pa sam kasnije koristio gotove funkcije da taj string kad ga izvadim opet pretvorim u datum, nije elegantno ali radilo mi je do jaja

sa cim spajas bazu?

ME

Ajde ovako.

Imam bazu kreiranu u Access-u. Jeste priitivno, ali ne treba mi ništa komplikovanije pa zato Access.
Imam tabelu koja ima dve kolone - ID i Datum.

Problem je krajnje prost: Treba da za željeni Datum izvučem poklapajući ID.

Kod pišem u Javi tj u NetBeans-u. Problem nastaje onda kada ja krenem da napišem upit koji će da mi za uneti datum izvuče taj ID.

SELECT ID FROM TABELA WHERE DATUM=?;

Namerno sam ovde stavila ? jer mi nije jasno kako da formatiram datum da bi prošao kroz bazu. Ne prihvata String, ne prihvata Date, znači ili izbaci grešku ili mi kaže da ne postoji poklapajući podatak, a ja znam da postoji jer sam ga upisala u bazu.

Kako se uopšte prosleđuje jebeni datum kao argument u SQL upitu?

Googlala sam, ali nema vajde.

Sose! :)

Koje si funkcije koristio, pošto sam sve živo probala ali me i dalje jebe.

LI

ja ti rekoh, probaj datum kao string da upises, tj u bazi accessovoj otkaci da ti je kolona "datum" od stringova

i onda ubaci probaj nesto u fazonu

"SELECT ID FROM TABELA WHERE DATUM='20/10/2011'"

ME

Aha... Da, meni je u bazi kolona "datum" tipa Date.

Verujem da će tako proći, samo, ne znaš li možda postoji li način da se sa Date tipom u bazi obavi posao?

ХС

Ja se sećam nešto kroz maglu, kad sam radio sa C# i SQL bazom, da mu rokneš .ToString, a onda u zagradi staviš format koji datuma koji odgovara SQL(Mislim da je MM/DD/YYYY) al' nisam siguran.

ME
Citat:verovatno postoji, ali ja ga ne znam

E, provalila sam!

Ako je datum u bazi tipa Date, kad ga prosleđuješ u upitu, ne idu ni apostrofi, ni navodnici već ##.
Ovako:
"SELECT ID FROM TABELA WHERE DATUM=#20/10/2011#";

Radi :)
Naravno, ovako formatiran datum treba da se poklopi sa načinom formatiranja u bazi. Meni je u bazi npr 2011-10-20, pa ga tako i unesem.

ME

Pa jebemmumajku, što?

Ako u ITKutku imamo teme
"Golf loptice"
"Lepljenje titla na video fajl"
"Dekodiranje"
"Hamachi"
"Doodle god"
"Izbjegni govna"

& ostala sranja, što da ne pustimo i SQL da živi?

ME

Mogu ti reći, tvoj humor ne kapiram evo već drugi put zaredom, ne znam u čem' je problem :))

YO

Само води рачуна да тај програм сада ради само на једном риџнал сетингсу. :) Мислим да је боље да користиш неку функцију која конвертује стринг у дејт, па онда такав датум убациш у стринг. Не сам радио са Аксесом, али требало би да има неку функцију to_date, format, convert или тако нешто... Лајк дис:

"SELECT ID FROM TABELA WHERE DATUM=CONVERT(datetime, #20/10/2011#, 1234)";

ME

A, pa da da, podrazumeva se da treba da formatiram i da zadam drugačiji datum svaki put.

Datum će da se učitava sa tastature, pa ću da ga formatiram pa tek onda da ga prosleđujem u upit.

A šta ti znači to 1234 u tom kodu YouCantHandleTheTrut?

Citat:daj jos neko pitanje, ovo je bilo lako :)

Haha, ne brini, biće ovog leta svakakvih pitanja iz ove struke :)

YO

Лупио сам неки број по сећању из неке друге апликације да није Аксес. Обично треба проследити неки код који означава формат датума... Сад сам проверио мало како то функционише у Аксесу. Је л' би прошло нешто овако?

"SELECT ID FROM TABELA WHERE DATUM=Format(#20/10/2011#, "DD/MM/YYYY")";

Ако ти је датум увек у облику DD/MM/YYYY онда не зависи од подешавања оперативног система. Упит са друге стране зависи, тако да мораш да конвертујеш твој облик у онај који апликација захтева.

Prijavi se na vukajlija.com da bi odgovorio.Prijavi se