[ unisoft @ 08.06.2009. 08:46 ] @
Moze li neko da mi objasni sta u ovoj komandi znaci jedan znak navodnika ( ' )

strSQL = "Select * from T_Korisnika Where UserName = ' " & cboUsername & " ' "

ja znam da kada na pocetki i na kraju neke reci ovo napisemo ( " )to nam VB prepoznaje kao tekst a ne kao rezervisanu rec VB.
( ' ) kada na pocetku nekog reda ili bilo kada napisemo ovaj znak ( ' ) on na sve posel toga prepoznaje kao komentar a ne kao programsku komandu,programski red.

Procito sam par knjiga za VB i jos nisam uspeo da razume kako ovaj gore programski red VB ne prepoznaje kao komentar ... :) ???



Ne znam sto ali u naslovu ove teme je napisano ( ' ) i kada sam sacuvao temu on napise ovako ( \' ) ...
[ Aleksandar Vasic @ 08.06.2009. 09:21 ] @
to je znak koji se koristi u SQL upitima, oznacava da je tip podataka koji se pamti u bazu string,tj. ukoliko hoces da ti zapamti podatak koji je tipa string, moras koristiti taj znak.
[ unisoft @ 08.06.2009. 09:49 ] @
A zasto ne mozemo da upotrbimo jednostavno " ispred i iza reci " .Ja ovo sam naveo samo kao primer ali ima slucajeva kada nije rec o SQL-u vec o VB kodovima (redovima ) da se koristi '.A moze videti da koristi i ( " ) Where UserName = ' " & cboUsername & " ' "


[ Marko_L @ 08.06.2009. 11:25 ] @
Pa ceo SQL statement se nalazi u navodnicima, ne vidim šta je tu nejasno. Apostrof u SQL statementu je isto što i i navodnici u kodu i tu su da predstave string. SQL statement u kodu je zapravo, samo još jedan string.
[ unisoft @ 08.06.2009. 12:40 ] @
Dobro to je u redu.Ti meni oces da kazes da je napisao samo veci kod.Apostrof i navodnici imaju istu ulogu u SQL-u.Ako koristimo samo apostrof ili samo navodnike ili oboje dobijao istu stvar ...

A da ima li u SQL neki svecijalni znak sa tastarture koji na sluzi kao komentar ili tada koristimo VB ako naravno pisemo u VB-u ( ' ).
[ Aleksandar Vasic @ 08.06.2009. 13:14 ] @
apostrof i navodnik nije jedna ista stvar, da sql upit u vb-u ubacio u neku string promenljivu moras da ga stavis izmedju navodnika, a u sql upitu iskljucivo se koristi apostrof za oznacavanje stringa.
[ unisoft @ 08.06.2009. 13:57 ] @
Mislim da mi je sada jasnije

na primer:


IF cboUsername="milos" & 'Select * From tblKorisnika' Then
.... u ovom slucaju koristimo apostrofe .E mene je ovo zbunjivalo kako on onda preopozna SQL komandu kao komandu ( VB ) .A valjda nam SQL vraca uvek podatak tima STRING ...
End if

Ako sam dobro razume kada ocemo da SQL koristimo kao string onda ga stavljamo izmedju apostrofa stim sto kada bi napisali sledece

Dim poruka as string

poruka=SELECT * FROM tblkorinika WHERE username="12"

msgbox poruka pojavi se msgbox sa porukom

a ako napisemo u sledecem obliku desi se ista stvar AKO SAM DOBRO RAZUMEO

poruka='SELECT * FROM tblkorinika WHERE username="12"' - mozes videti da sam stavio apostrofe.


[ Marko_L @ 08.06.2009. 14:03 ] @
Ajde da probamo ovako... postoji tip podataka koji se naziva string i koji prihvata bilo koji alfanumerički podatak. E sad, kad hoćemo da baratamo sa stringom u kodu, recimo da dodelimo neki podatak string varijabli ili da vršimo neku operaciju nad stringom, recimo spajanje stringova, upoređivanje, itd. mi string moramo da stavimo pod navodnike. Primer
Code:
Dim strText As String
strText = "Hello World"

E sad, kada tako nešto želimo da uradimo u SQL upitu, string tip podataka stavljamo između dva apostrofa. Primer
Code:
SELECT * FROM Tabela WHERE Polje1 = 'Nesto'

Dalje, kada želimo da upotrebimo SQL upit negde u kodu... recimo da ga dodelimo recorsource-u data kontrole, ceo SQL upit možemo posmatrati kao string, pa ćemo ga naravno staviti pod navodnike. Primer
Code:
Data1.Recordsource = "SELECT * FROM Tabela WHERE Polje1 = 'Nesto'"

E sad, u većini slučajeva u SQL upitu nećemo oristiti neki fiksni tekst, već ćemo želeti da iskoristimo nešto što smo upisali u Textbox ili smestili u varijablu (promenljivu). Da bismo to uradili, moramo da razdvojimo string koji predtsvlja SQL upit kako bismo "udenuli" tu varijablu u nekom delu i onda sve to spojili. Primer
Code:
Data1.Recordsource = "SELECT * FROM Tabela WHERE Polje1 = '" & Text1.Text & "'"

Čini mi se da te ovaj deo buni, jer sadrži i navodnike i apostrofe, ali u pitanju je jednostavna stvar... kada dođemo do Polje1 = ' tu zatvaramo string, nalepljujemo promenljivu (u ovom slučaju tekst iz Text1 textboxa), a zatim na tu promenljivu nalepljujemo ostatak SQL upita koji glasi, odnosno sadrži samo apsotrof (') koji zapravo zatvara string koji smo udenuli. Tako da, kada se izvrši spajanje, Recordsource svojstvo Data1 objekta će dobiti string koji glasi ovako (pod uslovom da smo u Text1 textbox upisali Hello World):
Code:
"SELECT * FROM Tabela WHERE Polje1 = 'Hello World'"

Jel sad malo jasnije ? :)
[ Aleksandar Vasic @ 08.06.2009. 14:08 ] @
ne, gresis

kada u vb-u dodljujes neki tekst stringu radis ovako

promenljiva = "neki tekst"

ukoliko dodeljujes neki sql query koji nema u sebi string podatak

promenljiva = "SELECT * FROM Tabela"

ukoliko sql query ima u sebi string podatak

promenljiva = "SELECT * FROM Tabela WHERE Ime = ' NekoIme ' "

da je taj podatak neki broj

promenljiva = "SELECT * FROM Tabela WHERE ID = 3 "

nemas apostrofe

edit: pretece me marko :)
[ unisoft @ 08.06.2009. 15:33 ] @
E sada mi je jasno.

Hvala.Samo brate nisi morao ovoliko da se trudis.Dovoljni su mi bili ovi primeri.Pozdrav :)