CAYBURG.COM
Programlama Dilleri Delphi, Visual Basic, C, C++,C#, ASP, Perl, Php, Html vb. diller hakkında bilgi ve birikimlerinizi paylaşabilir ve yardım alabilirsiniz.
Cevapla
VB SQL Kodları Bu konu 86 defa okundu ve 6 yorum yazildi.
 
Seçenekler
Alt 07.06.2008, 00:46   #1
internetadami
Bronze Members
Standart VB SQL Kodları

*** İlk önce bir Access veri tabanı oluşturalım. Adı veri.mdb olsun.
*** İçerisinde kayit adında bir tablo oluşturalım.
*** Tabloya 4 değişken gireceğiz.

id
Otomatik Metin(ve birincil anahtar)
adi
Metin
soyadi
Metin
telefon
Metin


*** Şimdi açıklamaları yapalım:

id : Neden otomatik metin ve birincil anahtar; Çünkü biz bu kayıda karışmayacağız. Her yeni kayıt yapıldığında ACCESS otomatik olarak buraya bir rakam atayacak ve birincil anahtar olduğu için aynı numaraya sahip bir başka kayıt olmayacak. Bu numara bize silme ve düzeltme işlemlerinde yarayacak.

adi, soyadi, telefon : Neden Metin olduğu ortada sanırım. Sayısal bir işlem yapmayacağız.

*** Çalışma alanımız C:\Belgelerim\ilksql klasörü olsun. Ve veri tabanımızı buraya koyalım.

*** Kayıt alanımızda şunlar kayıtlı olsun

kayit
id
adi
soyadi
telefon
1
Şevket
Bulamaz
05355555555
2
Özge
Gölbaşı
05352552525
3
Çağrı
Solakoğlu
05354212121
4
Sadık
Bulamaz
05423454545
5
Mediha
Bulamaz
05558898998
6
Vbturk
NoktaNet
05455617181



*** Şimdi kodlarımızı yapalım. Formumuza bir listbox ekleyelim. Adı listbox1. Form load olayına şunu yazalım.

Private Sub Form_Load()
On Local Error GoTo hata ‘program içerisinde hata olduğunda hata etiketine gönderiyoruz.
Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
‘yukarıdaki 2 satır bizim veri tabanı ile bağlantı kurmamıza yarıyor.
‘app.path olayı programımızın da c:\belgelerim\ilksql klasöründe olduğunu anlatıyor.
‘yani programı nerede çalıştırırsak çalıştıralım program veri.mdb dosyasını yanında arayacak.


sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3

‘yukarıdaki 3 satırda ise veri tabanı içindeki verilere ulaşmak için
‘ilgili tablo ile bağlantımızı kuruyoruz.
‘sql değişkenimize kayit tablosu içinden adi soyadi ve telefon değişkenlerini seçmesini
‘ve bunları soyadi sırasına göre dizmesini söyledik. Eğer ki en sona DESC yazsaydık
‘dizilimi z `den a `ya yani azalan sıraya göre yapacaktı.
‘sql bağlantı tiplerini program sonrasında etraflıca anlatacağım. Şimdilik bir fikrimiz
‘olması açısından olaya böyle başladık.

Dim adi, sadi, teli As String ‘şimdi 3 değişken tanımladık işi biraz uzattık
Do While Not rs.EOF ‘Kayıt sonu değilse veya boş değilse do loop arasındakileri yap
adi = rs("adi") ‘veri tabanındaki adi değişkeninin değerini adi değişkenine atadık
sadi = rs("soyadi") ‘veri tabanındaki soyadi değişkeninin değerini sadi değişkenine atadık
teli = rs("telefon") ‘veri tabanındaki telefon değişkeninin değerini telii değişkenine atadık
listbox1.AddItem adi & " " & sadi & " " & teli ‘ve bu değişkenleri ard arda listbox a ekledik
rs.MoveNext ‘Birsonraki kayıda geç
Loop ‘Do ifadesinin doğasını gerçekleştir.
GoTo kayitson ‘işlem bittiğinde kayıtson a git ve bitir.
hata: ‘hata etiketi
MsgBox "HATA OLUŞTU" & Chr(13) & Err ‘hata oluştu ise haber ver ve hata sebebini yaz
kayitson: ‘işlem bitti etiketi
End Sub

Eğer ki bir yazım yanlışı yapmadıysanız listbox içerisinde kayıtlarınızı görebilirsiniz.

Sql içerisindeki “select” deyimi bize listeleme ,düzenleme ve kayıt girişinde yarayacak. Ben işlemleri şimdilik recordset kullanarak yapıyorum bide bunu yapmanın sql ile yolu var.

Mesela yani kayıt eklemek için sql değişkeni şöyle olacak:

sql="insert into kayit(adi,soyadi, telefon) values('Mustafa','KESER','05055050505')"

ve bu durumda hiç recordset açmamıza gerek kalmayacaktı.

sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3

yerine

sql="insert into kayit(adi,soyadi, telefon) values('Mustafa','KESER','05055050505')"
baglanti.execute(sql)

dememiz kayıt için yeterli olurdu.

Ancak recordset kullanarak kayıt eklemek şunların yapılmasını gerektiriyor.

Dim adi, sadi, teli as String
adi = “Mustafa”
sadi = “KESER”
teli = “05055050505”

Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
rs.AddNew
rs(“adi”) = adi
rs(“soyadi”) = sadi
rs(“telefon”) = teli
rs.Update

Recordset ile bir kayıt yaptık işte. Eğer ki textboxlardan veri alalım derseniz
rs.AddNew
rs(“adi”) = text1.text
rs(“soyadi”) = text2.text
rs(“telefon”) = text3.text
rs.Update

şeklinde bir düzenleme yapmanız yeterli olacaktır.

*** Şimdi sql’in en çok işe yaradığı yerlerden birine göz atalım

ben adı Mustafa olan kişinin telefonunu değiştirmek istiyorum. Önce recordsetsiz sonrada recordsetli bir yapalım.

sql="update kayit set telefon='05332226655' where adi='Mustafa'"
baglanti.execute(sql)

buradaki where komutu adı Mustafa olan herkesin telefon numaralarını değiştirir. İşte id burada işe yarayacak. Çünkü sadece bir tane id bir tane isime ait. Diyelim ki Bizim Mustafa’nın id si 15 olsun. Bu durumda komut,

sql="update kayit set telefon='05332226655' where id=15"
baglanti.execute(sql)

olarak değişecektir.

15 numaralı kaydın telefon numarası değişti. Bir de recordset ile yapalım

Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
sql = "select id,telefon from kayit where id = 15"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
rs(“telefon”) = “05332226655”
rs.Update

İşte bukadar basit. Değiştirme işlemini de bu şekilde yapıyoruz.
*** En kolayı ise silme işlemi.

sql="delete from kayit where id=15"
baglanti.execute(sql)

işte bukadar. Veri tabanından 15 numaralı kaydı bir anda sildik. Bu komut için recordset kullanmıyoruz. Çünkü bir zorluk çıkarmıyor. Recordset kullanmanın amacı toplu kayıt, listeleme ve aramalarda yarıyor. Recordset kullanmasak yaparmıyız. Tabi ki yapabiliriz. Uygun döngülerle her şey yapılabilir. Yada tüm database i boşaltmak istersek ;

sql="delete from kayit"
baglanti.execute(sql)

yazmamız yeterli. Veritabanı bomboş…
internetadami isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
internetadami, Tesekkür Edenler:
Alt 07.06.2008, 00:47   #2
internetadami
Bronze Members
Standart VB SQL'e Bağlanma ve Datagrid,Treeview

Bu örnekte serverdaki datalara bağlanarak treeview ile seçim yapıcaz ve treeview üzerinden seçtiğimiz herhangi bir veri datagrid'te görüntülenecek.
İlk olarak formumuza datagrid ve treewiev yerleştirin eğer treeview yoksa projects/components/microsoft common controls seçeneğiyle treewiev'e ulaşabilirsiniz.
Datagrid içinde aynı şekilde microsoft datagrid control 6.0(OLEDB) seçeneğinden ulaşabilirisiniz.



Private Sub Form_Load()
Dim nodX As Node
' Bir metni ana baslik olarak atamak için asagidaki gibi bir komut kullanmalisiniz.
Set nodX = TreeView1.Nodes.Add(, , , "Tablo1")
'Asagidakinin amaci 1. Basliga bir alt baslik eklemektir.
' Eklediginiz altbasliklar eklenme siralarina göre görüntülenir.
'BEN RASGELE BİR TABLO1'E ÜÇ BAŞLIK TABLO 2'YE İKİ BAŞLIK EKLEDİM
Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "DATA1")
Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "DATA2'")
Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "DATA3")
' 2. Anabasligi ekliyoruz.
Set nodX = TreeView1.Nodes.Add(, , , "Tablo2")
'Bu Kisimdada Diger AltBasliklar Var
Set nodX = TreeView1.Nodes.Add(5, tvwChild, , "DATA1'")
Set nodX = TreeView1.Nodes.Add(5, tvwChild, , "DATA3")

' Tüm agaci göstermek için kontrolü tazele.
nodX.EnsureVisible
End Sub

'Serverdaki Dosyalara Bağlanıyoruz

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim nodX As Node
Dim db As Connection
Set db = New Connection
Set kayitalani = New Recordset
Set kayitalani1 = New Recordset
Set kayitalani2 = New Recordset
db.CursorLocation = adUseClient

db.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=rapor;Data Source=Emre;Initial Catalog=QWE2346"
kayitalani.Open "select top 50 CLIENT,COMPANY,MATERIAL,VALIDFROM,ORGCOUNTRY from DATA1 ", db, adOpenStatic, adLockOptimistic
kayitalani1.Open "select top 50 COMPANY,LANGU,STEXT,MAINMATGRP FROM DATA3", db, adOpenStatic, adLockOptimistic
kayitalani2.Open "select top 50 COMPANY ,MATTYPE ,SKUNIT, FACTOR ,CHANGEDAT from DATA2", db, adOpenStatic, adLockOptimistic

Set n = TreeView1.SelectedItem
If TreeView1.SelectedItem = ("DATA1") Then
Set DataGrid1.DataSource = kayitalani

End If
If TreeView1.SelectedItem = ("DATA3") Then
Set DataGrid1.DataSource = kayitalani1
End If
If TreeView1.SelectedItem = ("DATA2") Then
Set DataGrid1.DataSource = kayitalani2


End If
mbDataChanged = False

End Sub
internetadami isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 07.06.2008, 00:48   #3
internetadami
Bronze Members
Standart VB Program Lisanslama

Programınız izniniz olmadan kullanılamasın...
-------------------------------------------------------------
Hazırladığınız programın sizin bilginiz dışında kopyalanarak kullanılmasını istemiyorsanız işte size mini bir örnek :
(Burada istenen yükleme sırasında size danışılmak zorunluluğu oluşturmak.)
Programınızla birlikte yüklenecek konfigürasyonla ilgili veri tabanında tek bir flag tanımlayın. yani yerini tasarım
sırasında belirleyeceğiniz - sadece sizin bileceğiniz bir adreste bir bitlik bir yer ayırın.
Bu bite "RegBit" diyelim. Aşağıdaki anlatımın sonunda "RegBit=1" ise program bilginizde yüklenmiş;
"RegBit=0" ise program kopyalanmıştır diyeceğiz.("True/False" veya başka işaretler de kullanabilirsiniz -
önemli olan iki farklı değere sahip olmak).Tabii ki ilk oluşturduğumuzda "RegBit=0" durumunda olacak.
Basit olarak mantığımız ne olacak :
Program çalıştığı zaman ilk yapacağı RegBit'i kontrol etmek olacak.
"RegBit=0" olduğunu gördüğünde Register Formunu çağıracak.
Bu formu tanımlayalım :
Üzerinde 4 adet Label , 1 adet Text ve 1 adet de Command temel elemanları olan bir form.
Çevre süslemeleri size ait...
Bu formun yüklenişinde Label elemanlarına 1'den 9'a kadar rastgele değerler yüklüyoruz. (Yüklenecek değerlerin kaçtan
kaça kadar olabileceği size bağlı; ben örneği basitleştirmek için 1den 9a diyorum).
----------------------------------------------------------------------------
Option Explicit
Dim x(1 To 4) As Integer
----------------------------------------------------------------------------
Private Sub Form_Load()
x(1) = Int((9 * Rnd) + 1) '1'den 9'a rastgele sayılar üret.
x(2) = Int((9 * Rnd) + 1)
x(3) = Int((9 * Rnd) + 1)
x(4) = Int((9 * Rnd) + 1)
Label1.Caption = x(1)
Label2.Caption = x(2)
Label3.Caption = x(3)
Label4.Caption = x(4)
End Sub
----------------------------------------------------------------------------
Kullanıcıdan da bu değerlere karşılık gelen bir değeri Text'e yazmasını istiyoruz. Bunu belirten bir ifadeyi Label5 olarak
forma yerleştirmek doğru olacaktır.(Label5.Caption="Lütfen kullanıcı kodunu giriniz...")
Kullanıcı tarafından değerler girilip Command'a tıklanınca ilk olarak Label'lardaki değerleri alıp tasarım sırasında
belirlediğim matemetik formulünde yerlerine koyuyorum ve beklediğim kodu elde ediyorum. Sonrasında basit olarak
kullanıcının girdiği değerle hesapladığım değeri karşılaştırıyorum. Aynı değilse RegBit'i "0" bırakıyorum ve programdan
çıkıyorum. Böylece program her çalıştırıldığında yukarıdaki durum tekrarlanıyor. Her defasında başka sayılar ve farklı
bir kod...
Eğer kullanıcı sizin bilginiz dahilinde programı yüklüyorsa kendisinden "kullanıcı kodu" istendiğinde de sizi aramaktan
çekinmeyecektir. siz de programın rastgele oluşturduğu değerleri alıp belki kafadan, belki hesap makinesi ile veya belki
de bir başka kodlama programı ile programınızın sorduğu kodu oluşturup ona söyleyeceksiniz.
Kullanıcı doğru kodu girdiğinde program RegBit=1 kaydını yapacak bir sonraki çalıştırılmasında tekrar kod sormayacaktır.
----------------------------------------------------------------------------
Private Sub Command1_Click()
If Text1.Text = "" Then Exit Sub
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
'şifre kontrol
a = x(1) + 1
b = x(2) + 1
c = x(3) + 1
d = x(4) + 1
Dim pass As Integer
'***
'Formülün ne derece karmaşık olacağı size bağlı
'Burada rastgele oluşturulan sayıların birer fazlasının mod 10 değerleri toplanıyor...
pass = ((2 * a) Mod 10) + ((2 * b) Mod 10) + ((2 * c) Mod 10) + ((2 * d) Mod 10)
'şifrenin doğruluğuna göre hareket
If Text1.Text <> pass Then
MsgBox "Hatalı şifre !", vbExclamation, "Dikkat"
End 'programı sonlandır
Else
'RebBit=1 yap, bu formu kapat ve programı çalıştır
End If
End Sub
----------------------------------------------------------------------------
Burada anlatılmaya çalışılan sadece bir yöntemdir. RegBit dediğimiz flag bitini nereye nasıl saklayacağınız veya
formülün nasıl olacağı sizin VBasic programlama düzeyinize ve tarzınıza bağlıdır.
RegBit'in saklanacağı veri tabanı ilk çalışma sırasında dışarı atılan exe içine gömülü bir dosya; sizin programınızdan
ayrı bir yerde oluşturacağınız bir text dosyası.... gibi birçok olasılıktan biri olabilir.
internetadami isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 07.06.2008, 00:50   #4
internetadami
Bronze Members
Standart VB Exe içine dosya gömmek

EXE içine Dosya Gömmek

RES dosyalarının kullanıma bir örnek vereceğim. Bu örnek kod vasıtasıyla EXE'nizin içine istediğiniz EXE,DLL,OCX ya da başka bir dosyayı gömebilirsiniz. Bunu VB 6.0 içinden gerçekleştireceğiz.

Vurgulama istediğim tek şey, bu kodu VB 6.0 içindeki RES Editor vasıtasıyla programınıza eklenen dosyaları dışarı çıkartmak için kullanabileceğinizdir. Yani bu kod ile EXE çalışırken içine herhangi bir dosya gömemezsiniz; EXE derlenmeden önce VB 6.0 içinden RES dosyası içine gömülen dosyaları dışarı atabilirsiniz.

RES Editor Tools menüsünde bulunur. Eğer yoksa Add-Ins menüsünden Add-In Manager komutunu çalıştırın. Karşınıza gelen pencerede VB 6 Resource Editor satırına tıklayın ve Loaded konumuna geçirin. Tamam deyip pencereyi kapatın. Tools menusundan ya da Araç Çubuğundan RES Editörünü çalıştırın.
RES Editör penceresinde araç çubuğundan Add Custom Resource komutunu verin. Hangi dosyayı EXE'nizin içine gömmek istiyorsanız RES dosyasına ekleyiniz. RES Dosyanızı kaydedin.
Formunuzun üzerine Command1 adlı bir düğme yerleştirin. Bunun Click olayına aşağıdaki kodu ekleyin.
Private Sub Command1_Click()

Dim resbytes() As Byte

resbytes = LoadResData(101, "CUSTOM")

Dim no As Byte

no = FreeFile

Open App.Path & "\deneme.exe" For Binary As #no

Put #no, , resbytes

Close #no

Shell App.Path & "\deneme.exe", vbNormalFocus

End Sub

Düğmeye basıldığı zaman EXE'nizin yanında bir de gömdüğünüz dosya oluşacaktır. Burada birşeye dikkat edin. ben "deneme.exe" dedim. Sizin dosyanız ne ise uzuntasını ona göre değiştirin. DLL ise "deneme.dll", "ZIP" ise "deneme.zip" olarak değiştirmeyi unutmayın.
internetadami isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 07.06.2008, 00:53   #5
internetadami
Bronze Members
Standart VB XML Kullanımı

VB6 XML Kullanımı
________________________________________
XML'e yazma
Bunun icin once Project menusunden references..XML data sources 3.0 i ekleyin
Private xDoc As msxml.DOMDocument
Public Enum eOpenXMLDoc
xDosya = 0
xMetin = 1
End Enum
Public Function XML_AC(ByVal kaynak As String, Optional ByVal tur As eOpenXMLDoc = xDosya) As Boolean
xDoc = New msxml.DOMDocument
Select Case tur
Case xDosya
XML_AC = xDoc.Load(kaynak)
Case xMetin
XML_AC = xDoc.loadXML(kaynak)
End Select
End Function
Public Function NesneOku(ByVal yol As String) As String
On Error GoTo HATA
Dim x As msxml.IXMLDOMNode
x = xDoc.documentElement.selectSingleNode(yol)
NesneOku = x.Text
Exit Function
HATA:
x = Nothing
End Function
Public Function NesneXMLiniOku(ByVal yol As String) As String
Dim x As msxml.IXMLDOMNode
x = xDoc.documentElement.selectSingleNode(yol)
NesneXMLiniOku = x.xml
End Function
Public Function NesneYaz(ByVal yol As String, ByVal deger As Object)
On Error GoTo HATA
Dim x As msxml.IXMLDOMNode
x = xDoc.documentElement.selectSingleNode(yol)
x.Text = deger
Exit Function
HATA:
x = Nothing
End Function
Public Function DegerOku(ByVal yol As String, ByVal isim As String) As String
On Error GoTo HATA
Dim x As msxml.IXMLDOMElement
x = xDoc.documentElement.selectSingleNode(yol)
DegerOku = x.getAttribute(isim)
Exit Function
HATA:
DegerOku = ""
End Function

Public Function DegerYaz(ByVal yol As String, ByVal isim As String, ByVal deger As Object)
On Error GoTo HATA
Dim x As msxml.IXMLDOMElement
x = xDoc.documentElement.selectSingleNode(yol)
x.setAttribute(isim, deger)
Exit Function
HATA:
End Function
Public Function NesneSayisi(ByVal yol As String) As Long
On Error GoTo HATA
Dim x As msxml.IXMLDOMNodeList
x = xDoc.documentElement.SelectNodes(yol)
NesneSayisi = x.length
Exit Function
HATA:
End Function
Public Function Kaydet(ByVal dosya As String)
xDoc.Save(dosya)
End Function
internetadami isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 30.08.2008, 18:12   #6
Bay delikanli1
Bronze Members
Standart

tsk emmegine salik
delikanli1 isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 24.10.2008, 17:10   #7
recorded
Bronze Members
Standart

Tesekkürker
recorded isimli Üye şuanda  online konumundadır   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler

Yetkileriniz
Yeni Mesaj yazma yetkiniz Aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz Aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz Aktif değildir dir.

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı

Benzer Konular
Konu Konuyu Başlatan Forum Cvpl Son Mesaj
Emu Kodları cetocan ŞİFRELİ & ŞİFRESİZ UYDU 11 02.11.2008 23:41
msn hata kodları turan58 İnternet ve Güvenlik Bilgileri 3 15.10.2008 14:30
Html kodları enlafonten Webmaster çözümleri 15 25.09.2008 10:56
VB Hata Kodları internetadami Programlama Dilleri 0 07.06.2008 00:25
Vb'de Keyascii Kodları burak25 Programlama Dilleri 1 06.10.2007 11:56

Paylaşmak Özgürlüktür - Arşiv - Yukarı git Web Stats TOPlist
File Hosting Free Kurd Radyo Dinle Bedava Albüm Vaylo Yeni Albüm Albüm Paylasim
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
Powered by vBulletin® Version 3.7.4 ©2000 - 2008, Jelsoft Enterprises Ltd.
Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 01:07 .