VERİTABANI UYGULAMALARI

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "VERİTABANI UYGULAMALARI"

Transkript

1 VERİTABANI UYGULAMALARI 2001

2 DAO Modeli VERİTABANI UYGULAMALARI Veritabanı üzerinde çalışan bir Visual Basic programı geliştirebilmek için öncelikle aşağıdaki şemayla gösterilen, VB nin veritabanı erişim nesnelerinin bilinmesi gerekir. Bu şema, DAO (Database Access Objects) modeli olarak adlandırılır. Modelde yer alan nesneler kısaca açıklanmıştır. Konu içersinde yeri geldikçe bu açıklamalar detaylandırılacaktır. DBEngine (Veritabanı Motoru) : DAO modelinin en üst seviyedeki nesnesidir. Diğer tüm nesneleri içerir ve hiyerarşik yapı içersinde denetimlerini gerçekleştirir. Workspace (Çalışma Alanı) : Bir kullanıcı için tanımlanmış oturumu belirtir. Açık durumda olan veritabanları çalışma alanı içersinde yer alırlar. Yerel (native) verilere erişmek için kullanılan Microsoft Jet database engine ya da Harici (external) verilere erişmek için kullanılan ODBCDirect yöntemlerine bağlı olarak iki farklı türde workspace tanımlanabilir. Connection (Bağlantı) : Bu nesne, bir ODBC (Open Database Connectivity) veritabanına bağlantıyı gösterir. (Sadece ODBCDirect workspace için geçerlidir) Database (Veritabanı) : Açık konumdaki veritabanını gösterir. Group (Grup) : Workspace secure workgroup (güveni çalışma grubu) özelliği taşıdığında, ortak erişim haklarına sahip kullanıcıların oluşturduğu bir kullanıcı grubu tanımlar. (Sadece Microsoft Jet workspaces için geçerlidir) User (Kullanıcı) : Belirli erişim haklarına sahip (secure workgroup durumunda) bir kullanıcı hesabı tanımlar. (Sadece Microsoft Jet workspaces için geçerlidir) QueryDef (Sorgu Tanımı) : Microsoft Jet database ya da ODBCDirect workspace için tanımlanmış bir sorguyu gösterir. RecordSet (Kayıt Kümesi) : Taban tabloda yer alan tüm kayıtları ya da çalıştırlan bir sorgu neticesinde elde edilen kayıtları gösterir. 2

3 TableDef (Tablo Tanımı) : Taban tablosunun ya da bağlantılı tablonun (linked table) tanımını içerir. Container (Taşıyıcı) : Benzer türdeki Document nesnelerini gruplar. Document (Belge) : Bir nesnenin örneği (instance) hakkında bilgileri içerir. Nesne bir veritabanı, kaydedilmiş bir tablo, sorgu(query) ya da ilişki(relationship) olabilir. Relation (İlişki) : Tablolar içersinde yer alan alanlar ya da sorgular arasındaki ilişkileri tanımlar. Field (Alan) : Tabloda yer alan verilerden aynı türde olanların oluşturdukları kolonları gösterirler. Index (Dizin) : Veritabanı tablolarında yer alan verilerin sıralamalarını tanımlar ve çift (duplicate) kayda izin verilip verilmeyeceğini belirler. Veritabanına etkin ve hızlı erişimi sağlar. Parameter (Parametre) : Sorguda belirtilen değerleri taşır. 1. Bir WorkSpace Yaratmak Bu işlem için kullanacağımız metot CreateWorksapce dir. Genel kullanımı aşağıdaki gibidir: Set myworkspace = CreateWorkspace(name, user, password, type) Burada myworkspace, modül ya da ilgili formun tanımlamalar (general declarations) bölümünde Dim bildirimi ile ya da projenin modülü içersinde aşağıdaki biçimde tanımlanmış olmalıdır: Global myworkspace As Workspace Metodun parametreleri aşağıda açıklanmıştır: name :Yaratılan WorkSpace nesnesini tek olarak ifade edecek string türünde bir isim. Boş string olarak belirlenebilir. ( ) user :Yaratılan WorkSpace nesnesinin sahibi olan kullanıcıyı belirleyen bir stirng. Geçerli olarak admin olarak belirlenebilir. password :Kullanıcıya ait şifreyi belirleyen bir stirng. En fazla 14 karakter uzunluğunda olabilir. type :Opsiyonel. Yaratılan worksapce in türünü belirleyen bir sabit. Aşağıda örnek bir workspace yaratılmıştır. Bu kod, projenin ana formunun FormLoad olayı içersinde yer almaktadır: Set myworkspace = CreateWorkspace("", "admin", "", dbusejet) 3

4 Daha önce wrkjet nesnesinin projenin modülünde yukarıdaki örnekte olduğu gibi tanımlanmış olduğu varsayılmıştır. 2. Bir Veritabanı Açmak Yaratılan workspace nesnesi altında bir veritabanı açabiliriz. Ama öncelikle bu veritabanının yaratılmış olması gerekir. Bu işlemi iki şekilde gerçekleştirebiliriz: VB den bağımsız olarak kullanılan veritabanı sisteminin arayüzü ve sihirbazları kullanılarak, Doğrudan kod içersinden SQL (Strucrtured Query Language-Yapısal Sorgu Dili) kullanılarak. Sağladığı kolaylıklar nedeniyle bu yöntemlerden genellikle ilki tercih edilir. Genel olarak VB gibi tüm görsel programlama dillerinde veritabanı uygulamalarını iki ana grupta inceleyebiliriz. Bunlardan ilki, derleyici ya da programlama aracının veritabanına yerel (native) olarak bağlanmasıdır. Bu genellikle, her iki tarafı da (yani derleyici ve veritabanını) aynı üretici firmanın geliştirdiği durumlarda mümkün olmaktadır. Örneğin VB, MS Access veritabanına (mdb) yerel olarak bağlanabilmektedir. Ancak bu, VB nin başka herhangi bir veritabanına bağlanamamasını gerektirmez. Bu da ikinci grup veritabanı uygulamalarını oluşturur. Bu durumda, uygulama ile veritabanının karşılıklı olarak konuşup anlaşabilmelerini sağlayan bazı aracı sürücü (driver) dosyalarına gereksinim vardır. Bu sürücülere ODBC (Open Database Connectivity) sürücüler adı verilir. Aşağıdaki resimler örnek olarak bir VB programı ile MS Access ve Oracle veritabanları arasındaki iletişimi simgelemektedir: İşletim sistemlerinin konfigürasyon ayarlarında ODBC sürücülerinin tanımlanabileceği bölümler mevcuttur. Derleyici ya da veritabanı sistemleri genellikle çok popüler olan yazılımlar için ODBC sürücülerini de birlikte verirler. Bunun yanı sıra bir çok üretici firma, programlama dilleri ile farklı veritabanları arasında iletişimi gerçekleştiren ODBC sürücüleri üretmektedir. Bunların karşılaştırma kriterleri genellikle veri aktarım hızları üzerine kurulmuştur. 4

5 Biz öncelikle mdb veritabanı bağlantılı örnekler üzerinde çalışacağız. Dolayısıyla aşağıdaki tanımlamalarda uygulamamız ile aynı dizin altında ornek.mdb adlı bir Access veritabanı dosyasının yaratılmış olduğunu varsayacağız. Bu veritabanında ANATABLO adında aşağıdaki formatta bir tablomuz olsun: (base tabletaban tablo) Alan Adı : AD Alan Adı : SOYAD Alan Adı : SICILNO Alan Adı : GRSYIL Türü : Text Türü : Text Türü : Text Türü : Number İlk olarak projemizin modülünde veritabanımızı tanımlayalım: Global mydb As Database Projenin ana formunun FormLoad olayı içersinde bu veritabanını daha önceden tanımlanan WorkSpace üzerinde, Set database = workspace.opendatabase (dbname, options, read-only, connect) biçiminde açabileceğimiz gibi, Set database = OpenDatabase (dbname, options, read-only, connect) biçiminde çalışma alanından bağımsız olarak da açabiliriz. Bunun için aşağıda açıklanan OpenDatabase metodunu kullanacağız: database :Açılmak istenen veritabanını taşıyacak değişken. workspace :Opsiyonel. Veritabanımızı içerecek workspace nesnesini taşıyan değişken. Eğer belirtilmezse geçerli workspace olarak alınır. dbname :mdb dosyasının tam adı (yolu ile birlikte) ya da eğer ODBC bağlantısı yapılıyorsa ODBC kaynağının DSN (Data Source Name) adı. Options :Opsiyonel. Açılan veritabanı için belirlenecek özel seçenekler. read-only :Opsiyonel. Eğer true olarak belirlenirse veritabanı read-only (yalnızca okunabilir) olarak açılır, aksi takdirde hem okunabilir hem yazılabilir açılır. connect içeren string. :Opsiyonel. Veritabanına bağlantı ile ilgili (kullanıcı adı, şifresi gibi) bilgileri Bu durumda FormLoad olayında yer alacak örnek kodumuz aşağıdaki gibi olur: Set mydb = OpenDatabase(App.Path & "\ornek.mdb", False) 5

6 3. Veri Kümesi (RecordSet) Veritabanının, bilgileri tablo adı verilen yapılarda taşıdığını biliyoruz. İlk amacımız, ele aldığımız veritabanının tablosuna yeni bir bilgi yazmaktır. Bunun için gerekli görsel düzenlemelerin yapıldığını varsayarsak, işlemi soyut bir yapı olan RecordSet üzerinde gerçekleştirmemiz gerekir. Bunun için öncelikle bir RecordSet in nasıl açıldığını öğrenelim. Bu işlemi SQL kullanarak gerçekleştireceğiz. Set recordset = object.openrecordset (source, type, options, lockedits) recordset object :Açılmak istenen RecordSet i taşıyacak nesne değişkeni. :RecordSet in içerildiği nesneyi gösteren değişken. source : Recordset in içerdiği kayıtları (records) belirleyecek kaynak. En kullanışlı yöntem bir SQL ifadesinin kullanılmasıdır. type : Opsiyonel. RecordSet in türünü belirten sabit. (DynaSet : Hem okunabilir, hem yazılabilir tip; SnapShot : Sadece okunabilir tip-daha hızlı) Options : Opsiyonel. Açılan RecordSete ait seçeneklerin belirlendiği sabitler kombinasyonu. Lockedits : Opsiyonel. Açılan RecordSete ait kilitleme seçeneklerinin belirlendiği sabit. Şimdi örnek veritabanımız üzerinde çalışmaya devam edelim. İlk olarak açtığımız veritabanı üzerinde dynaset türünde yeni bir RecordSet açalım: Set MyRS = mydb.openrecordset("select * FROM ANATABLO", dbopendynaset) SQL Öğreniyorum! SELECT : SEÇ * : TÜMÜ (ALL) FROM : -DEN, -DAN SELECT * FROM ANATABLO : ANATABLO isimli tablodan tüm kayıtları seç Peki açtığım RecordSet acaba dolu mu yoksa boş mu? Nasıl anlayabilirim? Bunun iki yolu vardır. Bunlardan birincisi: If MyRS.EOF = False Or MyRS.BOF = False Then... (1) Bu koşul MyRS'de kayıt bulunduğunu garanti etmektedir. Eğer hem MyRS.EOF hem de MyRS.BOF True oluyorsa recordset boştur. Bu koşul kullanılmadığı takdirde Eğer recordset boş ise bilgiler alınmaya çalışıldığında No current record hatasıyla karşılaşılır. BOF : Eğer RecordSet içersindeki o anki kayıt pozisyonu ilk kayıttan önce ise true, aksi takdirde false değerini dönderir. 6

7 EOF : Eğer RecordSet içersindeki o anki kayıt pozisyonu son kayıttan sonra ise true, aksi takdirde false değerini dönderir. O halde RecordSet imiz için iki durum söz konusudur: Ya hiçbir kayıt girilmemiştir, ya da daha önceden kayıtlar vardır. İlk durumda yeni kayıt girilmesi gerekir. Bunu şu şekilde gerçekleştiriyoruz: MyRS.AddNew MyRS.Fields("AD") = UCase(Text1.Text) MyRS.Fields("SOYAD") = UCase(Text2.Text) MyRS.Fields("SICILNO") = UCase(Text3.Text) MyRS.Fields("GRSYIL") = UCase(Val(Text4.Text)) MyRS.Update Tabii görsel düzenlememiz sırasında tablodaki alanlara uygun text kutularının karşılık geldiğini varsayıyoruz. İkinci duruma gelelim. Yani veritabanında daha önceden kaydedilmiş kayıtlar olsun. Bu durumda öncelikle ilk kaydın formumdaki ilgili alanlara yerleşmiş olmasını isterim. Eğer RecordSet imde kayıt olup olmadığını yukarıda açıklanan birinci yolla anladıysam, (1) koşulundan hemen sonra aşağıdaki kodları yazmam yeterli olacaktır. Çünkü RecordSet açıldığında konum otomatik olarak ilk kayıt üzerindedir: Text1.Text = MyRS.Fields("AD") Text2.Text = MyRS.Fields("SOYAD") Text3.Text = MyRS.Fields("SICILNO") Text4.Text = MyRS.Fields("GRSYIL") Eğer (1) koşulunu kullanmadıysam bu durumda şu metodu kullanabilirim: MyRS.MoveFirst If Not MyRS.NoMatch Then Text1.Text = MyRS.Fields("AD") Text2.Text = MyRS.Fields("SOYAD") Text3.Text = MyRS.Fields("SICILNO") Text4.Text = MyRS.Fields("GRSYIL") Else : MsgBox Kayıt Bulunamadı Bu durumda da RecordSet lerin NoMatch özelliği kullanılarak (Kayıt varsa false, yoksa true değerini alır) ilk kaydın ilgili alanlarda görüntülenmesi sağlanmıştır. 7

8 Şimdi kayıtlar arasında ileriye doğru gezinmemizi sağlayacak bir butonumuz olduğunu varsayalım ve bu butonun nasıl bir koda sahip olacağını görelim: Private Sub BtnIleri_Click() MyRS.MoveNext If Not MyRS.EOF Then Text1.Text = MyRS.Fields("AD") Text2.Text = MyRS.Fields("SOYAD") Text3.Text = MyRS.Fields("SICILNO") Text4.Text = MyRS.Fields("GRSYIL") Kayıtlar arasında geriye doğru gezinmemizi sağlayacak BtnGeri butonun kodu da benzer olacaktır. Farkı, ikinci satırdaki MoveNext metodu yerine MovePrevious metodunun, koşulda ise EOF yerine BOF özelliğinin kullanılmasıdır. ÖRNEK PROJE Bazı temel metot ve özelliklerin kullanılışını geliştireceğimiz örnek bir uygulama üzerinde görelim: Projemiz, program dosyaları ile aynı konumda olması gereken ornek.mdb adlı veritabanı dosyasını kullanacaktır. Aşağıda bu dosya tarafından içerilecek tabloları görüyorsunuz: Görüldüğü gibi veritabanımız üç adet tablodan oluşmaktadır. Bunlardan ilki olan anatablo, kişilere ait bilgileri, copkutusu silinen bilgiler ile silinme tarih ve saatini tutacaktır. Ayarlar tablosu ise programın kayıt silme onayı, çıkış onayı ve çöp kutusunu boşaltma onayı gibi ayarlarını saklayacaktır. Şimdi projeyi oluşturan formları ve bu formlara ait kodları verelim: 8

9 AnaForm Private Sub CmdAbout_Click() FrmAbout.Show 1 Private Sub CmdArama_Click() FrmArama.Show 1 Private Sub CmdAyarlar_Click() FrmAyar.Show 1 Private Sub CmdCikis_Click() Set optrs = mydb.openrecordset("ayarlar", dbopensnapshot) optrs.movefirst If optrs.fields("cikonay") Then FrmCikOnay.Show 1 Else End Private Sub CmdCopDok_Click() On Error Resume Next 'Son kaydı da sildikten sonra koşula giriyor ve hata veriyor. Set optrs = mydb.openrecordset("ayarlar", dbopensnapshot) optrs.movefirst If optrs.fields("copdokonay") Then FrmDokOnay.Show 1 If evetdok Then Set coprs = mydb.openrecordset("copkutusu", dbopendynaset) While coprs.eof = False Or coprs.bof = False coprs.movefirst coprs.delete coprs.movenext Wend coprs.close optrs.close Private Sub CmdCopKar_Click() FrmCop.Show 1 Private Sub CmdGiris_Click() FrmGiris.Show 1 Private Sub Form_Load() Set mydb = OpenDatabase(App.Path & "\ornek.mdb", False) evetdok = True 9

10 FrmArama Dim sql As String Dim myrsacildi As Boolean Private Sub CmdAra_Click() myrsacildi = True If Option3.Value = True Then sql = "SELECT * FROM ANATABLO WHERE AD LIKE '*" & Trim(UCase(Text5.Text)) & "*'" Set myrs = mydb.openrecordset(sql, dbopendynaset) 10

11 If Option4.Value = True Then sql = "SELECT * FROM ANATABLO WHERE SOYAD LIKE '*" & Trim(UCase(Text6.Text)) & "*'" Set myrs = mydb.openrecordset(sql, dbopendynaset) If Option5.Value = True Then sql = "SELECT * FROM ANATABLO WHERE AD LIKE '*" & Trim(UCase(Text5.Text)) & "*' AND SOYAD LIKE '*" & Trim(UCase(Text6.Text)) & "*'" Set myrs = mydb.openrecordset(sql, dbopendynaset) If Option6.Value = True Then sql = "SELECT * FROM ANATABLO WHERE DTARIH LIKE '*" & Trim(Text7.Text) & "*'" Set myrs = mydb.openrecordset(sql, dbopendynaset) If myrs.eof = False Or myrs.bof = False Then 'RecordSet kayıt içeriyor myrs.movefirst Text1.Text = myrs.fields("ad") Text2.Text = myrs.fields("soyad") Text3.Text = myrs.fields("serino") Text4.Text = myrs.fields("dtarih") If myrs.fields("cinsiyet") = "K" Then Option1.Value = True Else Option2.Value = True Frame1.Enabled = False CmdSil.Enabled = True CmdDuzelt.Enabled = True CmdSag.Enabled = True Else: MsgBox "Kayıt Bulunamadı" Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Frame1.Enabled = False Private Sub CmdDuzelt_Click() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Frame1.Enabled = True CmdKaydet.Enabled = True Private Sub CmdKapat_Click() If myrsacildi Then myrs.close Private Sub CmdKaydet_Click() myrs.edit myrs.fields("ad") = Trim(UCase(Text1.Text)) myrs.fields("soyad") = Trim(UCase(Text2.Text)) myrs.fields("serino") = Trim(UCase(Text3.Text)) myrs.fields("dtarih") = Trim(CDate(Text4.Text)) If Option1.Value = True Then myrs.fields("cinsiyet") = "K" Else myrs.fields("cinsiyet") = "E" myrs.update Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False 11

12 Frame1.Enabled = False Private Sub CmdSil_Click() Set optrs = mydb.openrecordset("ayarlar", dbopensnapshot) optrs.movefirst If optrs.fields("silonay") Then FrmSilOnay.Show 1 If evetsil Then myrs.delete myrs.close Set coprs = mydb.openrecordset("copkutusu", dbopendynaset) coprs.addnew coprs.fields("ad1") = Trim(UCase(Text1.Text)) coprs.fields("soyad1") = Trim(UCase(Text2.Text)) coprs.fields("serino1") = Trim(UCase(Text3.Text)) coprs.fields("dtarih1") = Trim(CDate(Text4.Text)) If Option1.Value = True Then coprs.fields("cinsiyet1") = "K" Else coprs.fields("cinsiyet1") = "E" coprs.fields("starih") = Date coprs.fields("ssaat") = Time coprs.update Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" coprs.close CmdSag.Enabled = False CmdSol.Enabled = False CmdDuzelt.Enabled = False CmdKaydet.Enabled = False myrsacildi = False optrs.close Private Sub CmdSag_Click() CmdSol.Enabled = True myrs.movenext If Not myrs.eof Then Text1.Text = myrs.fields("ad") Text2.Text = myrs.fields("soyad") Text3.Text = myrs.fields("serino") Text4.Text = myrs.fields("dtarih") If myrs.fields("cinsiyet") = "K" Then Option1.Value = True Else Option2.Value = True Else: CmdSag.Enabled = False Private Sub CmdSol_Click() CmdSag.Enabled = True myrs.moveprevious If Not myrs.bof Then Text1.Text = myrs.fields("ad") Text2.Text = myrs.fields("soyad") Text3.Text = myrs.fields("serino") Text4.Text = myrs.fields("dtarih") If myrs.fields("cinsiyet") = "K" Then Option1.Value = True Else Option2.Value = True Else: CmdSol.Enabled = False 12

13 Private Sub Form_Load() myrsacildi = False evetsil = True Private Sub Option3_Click() Label7.Visible = True Text5.Visible = True Label9.Visible = False Label10.Visible = False Text6.Visible = False Text7.Visible = False Private Sub Option4_Click() Label9.Visible = True Text6.Visible = True Label7.Visible = False Label10.Visible = False Text5.Visible = False Text7.Visible = False Private Sub Option5_Click() Label9.Visible = True Text6.Visible = True Label7.Visible = True Text5.Visible = True Label10.Visible = False Text7.Visible = False Private Sub Option6_Click() Label10.Visible = True Text7.Visible = True Label7.Visible = False Label9.Visible = False Text5.Visible = False Text6.Visible = False SQL Öğreniyorum! SELECT : SEÇ * : TÜM (ALL) FROM : -DEN, -DAN WHERE : OLMAK ÜZERE LIKE : BENZER (İçeren) "SELECT * FROM ANATABLO WHERE AD LIKE '*" & Trim(UCase(Text5.Text)) & "*'" ANATABLO isimli tablodan AD alanı Trim(UCase(Text5.Text)) metnini içeren kayıtları TÜM alanları ile SEÇ FrmGiris 13

14 Private Sub CmdKapat_Click() Private Sub CmdKaydet_Click() Set myrs = mydb.openrecordset("anatablo", dbopendynaset) myrs.addnew myrs.fields("ad") = Trim(UCase(Text1.Text)) myrs.fields("soyad") = Trim(UCase(Text2.Text)) myrs.fields("serino") = Trim(UCase(Text3.Text)) myrs.fields("dtarih") = CDate(Trim(Text4.Text)) If Option1.Value = True Then myrs.fields("cinsiyet") = "K" Else myrs.fields("cinsiyet") = "E" myrs.update Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.SetFocus Private Sub CmdTemizle_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.SetFocus FrmCop 14

15 Dim coprsacildi As Boolean Dim sql As String Private Sub CmdAra_Click() coprsacildi = True sql = "SELECT * FROM COPKUTUSU WHERE AD1 LIKE '*" & Trim(UCase(Text1.Text)) & "*'" Set coprs = mydb.openrecordset(sql, dbopendynaset) if coprs.eof = False Or coprs.bof = False Then 'RecordSet kayıt içeriyor coprs.movefirst Text1.Text = coprs.fields("ad1") Text2.Text = coprs.fields("soyad1") Text3.Text = coprs.fields("serino1") Text4.Text = coprs.fields("dtarih1") If coprs.fields("cinsiyet1") = "K" Then Option1.Value = True Else Option2.Value = True Text5.Text = coprs.fields("starih") Text6.Text = coprs.fields("ssaat") Frame1.Enabled = False CmdSag.Enabled = True CmdSol.Enabled = True CmdGeriAl.Enabled = True Else MsgBox "Kayıt Bulunamadı" CmdSag.Enabled = False CmdSol.Enabled = False CmdGeriAl.Enabled = False Private Sub CmdGeriAl_Click() coprs.delete coprs.close coprsacildi = False Set myrs = mydb.openrecordset("anatablo", dbopendynaset) myrs.addnew myrs.fields("ad") = Trim(UCase(Text1.Text)) myrs.fields("soyad") = Trim(UCase(Text2.Text)) myrs.fields("serino") = Trim(UCase(Text3.Text)) myrs.fields("dtarih") = Trim(CDate(Text4.Text)) If Option1.Value = True Then myrs.fields("cinsiyet") = "K" Else myrs.fields("cinsiyet") = "E" myrs.update Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" myrs.close CmdSag.Enabled = False CmdSol.Enabled = False CmdGeriAl.Enabled = False Private Sub CmdKapat_Click() If coprsacildi Then coprs.close Private Sub CmdSag_Click() CmdSol.Enabled = True coprs.movenext 15

16 If Not coprs.eof Then Text1.Text = coprs.fields("ad1") Text2.Text = coprs.fields("soyad1") Text3.Text = coprs.fields("serino1") Text4.Text = coprs.fields("dtarih1") If coprs.fields("cinsiyet1") = "K" Then Option1.Value = True Else Option2.Value = True Text5.Text = coprs.fields("starih") Text6.Text = coprs.fields("ssaat") Else: CmdSag.Enabled = False Private Sub CmdSol_Click() CmdSag.Enabled = True coprs.moveprevious If Not coprs.bof Then Text1.Text = coprs.fields("ad1") Text2.Text = coprs.fields("soyad1") Text3.Text = coprs.fields("serino1") Text4.Text = coprs.fields("dtarih1") If coprs.fields("cinsiyet1") = "K" Then Option1.Value = True Else Option2.Value = True Text5.Text = coprs.fields("starih") Text6.Text = coprs.fields("ssaat") Else: CmdSol.Enabled = False Private Sub Form_Load() coprsacildi = False FrmAyar Private Sub CmdIptal_Click() Private Sub CmdTamam_Click() Set optrs = mydb.openrecordset("ayarlar", dbopendynaset) optrs.movefirst optrs.edit If kutu1.value = 1 Then optrs.fields("cikonay") = True Else optrs.fields("cikonay") = False If kutu2.value = 1 Then optrs.fields("silonay") = True Else optrs.fields("silonay") = False If kutu3.value = 1 Then optrs.fields("copdokonay") = True Else optrs.fields("copdokonay") = False optrs.update optrs.close 16

17 Private Sub Form_Load() Set optrs = mydb.openrecordset("ayarlar", dbopensnapshot) optrs.movefirst If optrs.fields("cikonay") Then kutu1.value = 1 If optrs.fields("silonay") Then kutu2.value = 1 If optrs.fields("copdokonay") Then kutu3.value = 1 optrs.close FrmAbout Private Sub CmdKapat_Click() FrmCikOnay Private Sub CmdHayir_Click() Private Sub CmnEvet_Click() End FrmSilOnay Private Sub CmdHayir_Click() evetsil = False Private Sub CmnEvet_Click() evetsil = True 17

18 FrmDokOnay Private Sub CmdHayir_Click() evetdok = False Module Global mydb As Database Global myrs, coprs, optrs As Recordset Global evetsil, evetdok As Boolean KİMLİK KAYIT PROGRAMI Bu bölümde öncekine göre biraz daha gelişmiş bir uygulama gerçekleştireceğiz. Nüfus cüzdanı bilgilerinin girileceği bu uygulamada, hiyerarşik bir kullanıcı yapısı da tanımlanacak. Dört düzeyli olacak bu yapıda, seviyeler ve sahip oldukları haklar aşağıdaki gibi olacak: Seviye Hak 1 Okuma, Yazma, Silme, Program Ayarları 2 Okuma, Yazma, Silme 3 Okuma, Yazma 4 Okuma Bu bilgiler KULLANICI adı verilen, aşağıdaki gibi tanımlı bir tabloda tutulacak: *klnkod Metin [20] sifre Metin [10] seviye Sayı [Byte] Uygulama tarafından kullanılacak diğer bilgiler ise, kimlik bilgilerini tutacak ana tablomuz olan KBILGI: serino1 Metin [3] serino2 Metin [6] no Metin [11] *soyad Metin [20] *ad Metin [20] *babaad Metin [20] *anaad Metin [20] dyer Metin [20] dtarih Tarih/Saat mhal Metin [1] kgrup1 Metin [2] kgrup2 Metin [3] 18

19 il Metin [20] ilce Metin [20] mahkoy Metin [20] ciltno Metin [6] asirano Metin [2] sirano Metin [2] veryer Metin [20] verned Metin [10] kayno Metin [4] sabika Evet/Hayır askerlik Evet/Hayır Ve İl-İlçe bilgilerinin saklanacağı ILLER tablosu: il [Sıralı, Yineleme var] Metin [50] ilce Metin [50] Şimdi açıklama satırları ile birlikte kodları verelim. FrmSifreSor Bu form, programın çalışmaya başladığı anda ilk olarak yüklenen ve kullanıcı adı ile şifresini alıp bunları global tanımlı değişkenlere aktaran formdur. Aynı zamanda kullanıcının girdiği kod ve şifrenin, veritabanındaki KULLANICI isimli tabloda yer alıp almadığını kontrol edip, yer almıyorsa programa giriş izni vermemektedir. Programa giren kullanıcının seviye sabiti, haklarını belirlediğinden, program içinde diğer formlarda kullanılmak üzere yine global bir değişkende saklanmaktadır. Dim ok As Boolean Private Sub CmdIptal_Click() End Private Sub CmdTamam_Click() ok = False Set myrs = mydb.openrecordset("select * FROM KULLANICI", dbopensnapshot) myrs.movefirst Do If Trim(UCase(TxtKln.Text)) = myrs.fields("klnkod") And Trim(UCase(TxtSifre.Text)) = myrs.fields("sifre") Then ok = True klnseviye = myrs.fields("seviye") kullanici = myrs.fields("klnkod") 19

20 sifre = myrs.fields("sifre") myrs.movenext Loop Until myrs.eof myrs.close If ok Then FrmAna.Show 1 Else: MsgBox "Kullanıcı kodu ya da şifre yanlış. Lütfen tekrar deneyiniz.", vbcritical Private Sub Form_Load() Set mydb = OpenDatabase(App.Path & "\kimlik.mdb", False) Private Sub TxtSifre_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Call CmdTamam_Click FrmAna Private Sub CmdAra_Click() FrmArama.Show 1 Private Sub CmdAyarlar_Click() FrmAyarlar.Show 1 Private Sub CmdGrs_Click() FrmGrs.Show 1 Private Sub CmdKapat_Click() End 20

21 Private Sub CmdSifreDeg_Click() FrmSifreDeg.Show 1 Private Sub Form_Load() If klnseviye <> 1 Then CmdAyarlar.Enabled = False Sadece 1 seviyeli kullanıcı ayarlar menüsüne girebilir: If klnseviye = 4 Then CmdGrs.Enabled = False 4 seviyeli kullanıcı kayıt girişi yapamaz. FrmGrs Dim kaydedildi As Boolean Private Sub kaydet() Set myrs = mydb.openrecordset("kbilgi", dbopendynaset) myrs.addnew myrs.fields("serino1") = Trim(UCase(TxtKSeri.Text)) myrs.fields("serino2") = Trim(UCase(TxtKNo.Text)) myrs.fields("no") = Trim(UCase(TxtNo.Text)) myrs.fields("soyad") = Trim(UCase(TxtSyd.Text)) myrs.fields("ad") = Trim(UCase(TxtAd.Text)) myrs.fields("babaad") = Trim(UCase(TxtBAd.Text)) 21

22 myrs.fields("anaad") = Trim(UCase(TxtAAd.Text)) myrs.fields("dyer") = Trim(UCase(TxtDYer.Text)) If TxtDTar.Text <> "" Then myrs.fields("dtarih") = CDate(Trim(TxtDTar.Text)) If OptEvli.Value Then myrs.fields("mhal") = "E" If OptBekar.Value Then myrs.fields("mhal") = "B" If OptDul.Value Then myrs.fields("mhal") = "D" If OptBosan.Value Then myrs.fields("mhal") = "A" myrs.fields("kgrup1") = CmbKanGr.Text If OptRhNeg.Value Then myrs.fields("kgrup2") = "Rh-" If OptRhPoz.Value Then myrs.fields("kgrup2") = "Rh+" myrs.fields("il") = CmbIl.Text myrs.fields("ilce") = CmbIlce.Text myrs.fields("mahkoy") = Trim(UCase(TxtMah.Text)) myrs.fields("ciltno") = Trim(UCase(TxtCiltNo.Text)) myrs.fields("asirano") = Trim(UCase(TxtAileNo.Text)) myrs.fields("sirano") = Trim(UCase(TxtSiraNo.Text)) myrs.fields("veryer") = Trim(UCase(TxtVerYer.Text)) myrs.fields("verned") = CmbVerNed.Text myrs.fields("kayno") = Trim(UCase(TxtKayNo.Text)) If ChckSab.Value = 1 Then myrs.fields("sabika") = True If ChckAsk.Value = 1 Then myrs.fields("askerlik") = True myrs.update MsgBox "Bilgiler kaydedilmiştir...", vbinformation, "" TxtSyd.Text = "" TxtAd.Text = "" TxtBAd.Text = "" TxtAAd.Text = "" TxtAileNo.Text = "" TxtCiltNo.Text = "" TxtSiraNo.Text = "" TxtDYer.Text = "" TxtDTar.Text = "" TxtKayNo.Text = "" TxtNo.Text = "" TxtKNo.Text = "" TxtKSeri.Text = "" TxtMah.Text = "" TxtVerYer.Text = "" OptEvli.Value = False OptBekar.Value = False OptDul.Value = False OptBosan.Value = False OptRhPoz.Value = False OptRhNeg.Value = False CmbVerNed.Text = "" CmbIl.Text = "" CmbIlce.Text = "" CmbKanGr.Text = "" ChckAsk.Value = False ChckSab.Value = False TxtKSeri.SetFocus kaydedildi = False myrs.close Private Sub CmbIL_Click() İl combobox ına tıklandığında seçilen ile ait ilçeler İlçe combobox ına doluyor. CmbIlce.Clear 22

23 sql = "SELECT ILCE FROM ILLER WHERE IL='" & CmbIl.Text & "'" Set myrs = mydb.openrecordset(sql, dbopensnapshot) myrs.movefirst While Not myrs.eof CmbIlce.AddItem myrs.fields("ilce") myrs.movenext Wend myrs.close Private Sub CmdKapat_Click() Dim cvp As Integer If Not kaydedildi And TxtSyd.Text <> "" And TxtAd.Text <> "" And TxtBAd.Text <> "" And TxtAAd.Text <> "" Then Daha önceden kayıt yapmamış ve zorunlu alanları dolu iken kapata basmış. cvp = MsgBox("Değişiklikleri kaydetmek istiyor musunuz?", vbyesno + vbexclamation, "DİKKAT") If cvp = 6 Then kaydet Else Else Private Sub CmdKaydet_Click() Dim msj As String kaydedildi = True If TxtSyd.Text = "" Or TxtAd.Text = "" Or TxtBAd.Text = "" Or TxtAAd.Text = "" Then msj = "Zorunlu alanlarda bilgi eksikliği saptanmıştır." msj = msj & Chr(13) & "Lütfen bu bilgileri tamamlayınız." MsgBox msj, vbcritical, "UYARI" kaydedildi = False Else kaydet Private Sub Form_Load() kaydedildi = False sql = "SELECT IL FROM ILLER GROUP BY IL" İller, İl combobox ına her aynı adlı il grubundan bir il seçilmek suretiyle doluyor. Set myrs = mydb.openrecordset(sql, dbopensnapshot) myrs.movefirst While Not myrs.eof CmbIl.AddItem myrs.fields("il") myrs.movenext Wend myrs.close 23

24 FrmArama Dim rsacildi As Boolean Dim iller As Recordset Private Sub AlanlariTemizle() TxtSyd.Text = "" TxtAd.Text = "" TxtBAd.Text = "" TxtAAd.Text = "" TxtKSeri.Text = "" TxtKNo.Text = "" TxtNo.Text = "" TxtDYer.Text = "" TxtDTar.Text = "" OptEvli.Value = False OptBekar.Value = False OptDul.Value = False OptBosan.Value = False CmbKanGr.Text = "" OptRhNeg.Value = False OptRhPoz.Value = False CmbIl.Text = "" CmbIlce.Text = "" TxtMah.Text = "" 24

25 TxtCiltNo.Text = "" TxtAileNo.Text = "" TxtSiraNo.Text = "" TxtVerYer.Text = "" CmbVerNed.Text = "" TxtKayNo.Text = "" ChckSab.Value = 0 ChckAsk.Value = 0 Private Sub EkranaAktar() TxtSyd.Text = myrs.fields("soyad") TxtAd.Text = myrs.fields("ad") TxtBAd.Text = myrs.fields("babaad") TxtAAd.Text = myrs.fields("anaad") TxtKSeri.Text = myrs.fields("serino1") TxtKNo.Text = myrs.fields("serino2") TxtNo.Text = myrs.fields("no") TxtDYer.Text = myrs.fields("dyer") If myrs.fields("dtarih") <> "" Then TxtDTar.Text = myrs.fields("dtarih") If myrs.fields("mhal") = "E" Then OptEvli.Value = True If myrs.fields("mhal") = "B" Then OptBekar.Value = True If myrs.fields("mhal") = "D" Then OptDul.Value = True If myrs.fields("mhal") = "A" Then OptBosan.Value = True CmbKanGr.Text = myrs.fields("kgrup1") If myrs.fields("kgrup2") = "Rh-" Then OptRhNeg.Value = True If myrs.fields("kgrup2") = "Rh+" Then OptRhPoz.Value = True CmbIl.Text = myrs.fields("il") CmbIlce.Text = myrs.fields("ilce") TxtMah.Text = myrs.fields("mahkoy") TxtCiltNo.Text = myrs.fields("ciltno") TxtAileNo.Text = myrs.fields("asirano") TxtSiraNo.Text = myrs.fields("sirano") TxtVerYer.Text = myrs.fields("veryer") CmbVerNed.Text = myrs.fields("verned") TxtKayNo.Text = myrs.fields("kayno") If myrs.fields("sabika") = True Then ChckSab.Value = 1 If myrs.fields("askerlik") = True Then ChckAsk.Value = 1 Function SqlGetir(syd, ad As String) As String Ad ve Soyad alanlarının hangilerinin dolu olduğuna göre SQL cümlesi teşkil ediyor. If syd <> "" And ad = "" Then SqlGetir = "SELECT * FROM KBILGI WHERE SOYAD LIKE '*" & syd & "*'" If syd = "" And ad <> "" Then SqlGetir = "SELECT * FROM KBILGI WHERE AD LIKE '*" & ad & "*'" If syd <> "" And ad <> "" Then SqlGetir = "SELECT * FROM KBILGI WHERE SOYAD LIKE '*" & syd & "*' AND AD LIKE '*" & ad & "*'" End Function Private Sub CmbIL_Click() CmbIlce.Clear sql = "SELECT ILCE FROM ILLER WHERE IL='" & CmbIl.Text & "'" Set iller = mydb.openrecordset(sql, dbopensnapshot) iller.movefirst While Not iller.eof CmbIlce.AddItem iller.fields("ilce") iller.movenext Wend iller.close 25

26 Private Sub CmdAra_Click() If TxtSyd.Text = "" And TxtAd.Text = "" Then MsgBox "Arama yapabilmek için SOYADI ya da ADI alanlarından en az birisini doldurmalısınız.", vbcritical, "UYARI" Else Set myrs = mydb.openrecordset(sqlgetir(trim(ucase(txtsyd.text)), Trim(UCase(TxtAd.Text))), dbopendynaset) rsacildi = True If myrs.eof = False Or myrs.bof = False Then myrs.movefirst EkranaAktar CmdSag.Enabled = True CmdKaydet.Enabled = True CmdSil.Enabled = True Else: MsgBox "Kayıt Bulunamadı" Private Sub CmdKapat_Click() If rsacildi Then myrs.close Private Sub CmdKaydet_Click() On Error GoTo Hata Hata: If CmdSol.Enabled And Not CmdSag.Enabled Then myrs.moveprevious If CmdSag.Enabled And Not CmdSol.Enabled Then myrs.movenext If klnseviye = 4 Then MsgBox "Bu işlemi gerçekleştirmek için yetkiniz yoktur.", vbexclamation Exit Sub If TxtSyd.Text = "" And TxtAd.Text = "" Then MsgBox "Kayıt yapabilmek için SOYADI ve ADI alanlarını doldurmalısınız.", vbcritical, "UYARI" Exit Sub myrs.edit myrs.fields("serino1") = Trim(UCase(TxtKSeri.Text)) myrs.fields("serino2") = Trim(UCase(TxtKNo.Text)) myrs.fields("no") = Trim(UCase(TxtNo.Text)) myrs.fields("soyad") = Trim(UCase(TxtSyd.Text)) myrs.fields("ad") = Trim(UCase(TxtAd.Text)) myrs.fields("babaad") = Trim(UCase(TxtBAd.Text)) myrs.fields("anaad") = Trim(UCase(TxtAAd.Text)) myrs.fields("dyer") = Trim(UCase(TxtDYer.Text)) If TxtDTar.Text <> "" Then myrs.fields("dtarih") = CDate(Trim(TxtDTar.Text)) If OptEvli.Value Then myrs.fields("mhal") = "E" If OptBekar.Value Then myrs.fields("mhal") = "B" If OptDul.Value Then myrs.fields("mhal") = "D" If OptBosan.Value Then myrs.fields("mhal") = "A" myrs.fields("kgrup1") = CmbKanGr.Text If OptRhNeg.Value Then myrs.fields("kgrup2") = "Rh-" If OptRhPoz.Value Then myrs.fields("kgrup2") = "Rh+" myrs.fields("il") = CmbIl.Text myrs.fields("ilce") = CmbIlce.Text myrs.fields("mahkoy") = Trim(UCase(TxtMah.Text)) myrs.fields("ciltno") = Trim(UCase(TxtCiltNo.Text)) 26

27 myrs.fields("asirano") = Trim(UCase(TxtAileNo.Text)) myrs.fields("sirano") = Trim(UCase(TxtSiraNo.Text)) myrs.fields("veryer") = Trim(UCase(TxtVerYer.Text)) myrs.fields("verned") = CmbVerNed.Text myrs.fields("kayno") = Trim(UCase(TxtKayNo.Text)) If ChckSab.Value = 1 Then myrs.fields("sabika") = True If ChckAsk.Value = 1 Then myrs.fields("askerlik") = True myrs.update MsgBox "Bilgiler kaydedilmiştir...", vbinformation, "" Private Sub CmdSag_Click() CmdSol.Enabled = True myrs.movenext If myrs.eof Then CmdSag.Enabled = False Else: EkranaAktar Private Sub CmdSil_Click() On Error GoTo Hata Hata: If CmdSol.Enabled And Not CmdSag.Enabled Then myrs.moveprevious Sağ tuşa son kayda ulaşıldıktan sonra bir kez daha basılmış. Dolayısıyla kayıt imleci bir geriye alınıyor. If CmdSag.Enabled And Not CmdSol.Enabled Then myrs.movenext Sol tuşa ilk kayda ulaşıldıktan sonra bir kez daha basılmış. Dolayısıyla kayıt imleci bir ileriye alınıyor. If klnseviye = 3 Or klnseviye = 4 Then MsgBox "Bu işlemi gerçekleştirmek için yetkiniz yoktur.", vbexclamation Exit Sub cevap = MsgBox("Bu kaydı silmek istediğinize emin misiniz?", vbquestion + vbyesno) If cevap = 6 Then myrs.delete AlanlariTemizle Private Sub CmdSol_Click() CmdSag.Enabled = True myrs.moveprevious If myrs.bof Then CmdSol.Enabled = False Else: EkranaAktar Private Sub CmdTemizle_Click() AlanlariTemizle Private Sub Form_Load() rsacildi = False sql = "SELECT IL FROM ILLER GROUP BY IL" Set iller = mydb.openrecordset(sql, dbopensnapshot) iller.movefirst While Not iller.eof CmbIl.AddItem iller.fields("il") iller.movenext 27

28 Wend iller.close FrmAyarlar Private Sub CmdIlce_Click() FrmIlce.Show 1 Private Sub CmdKapat_Click() Private Sub CmdYeniKln_Click() FrmYeniKln.Show 1 FrmYeniKln Dim labeltext As String Private Sub CmdIptal_Click() Private Sub CmdTamam_Click() If TxtKln.Text = "" Or TxtSifre.Text = "" Or TxtSifreT.Text = "" Or CmbSeviye.Text = "" Then MsgBox "Lütfen alanların tümünü doldurun.", vbcritical Exit Sub If TxtSifre.Text <> TxtSifreT.Text Then MsgBox "Şifreyi yanlış girdiniz. Lütfen tekrar deneyin.", vbcritical TxtSifre.Text = "" TxtSifreT.Text = "" TxtSifre.SetFocus Exit Sub Set myrs = mydb.openrecordset("kullanici", dbopendynaset) myrs.addnew 28

29 myrs.fields("klnkod") = Trim(UCase(TxtKln.Text)) myrs.fields("sifre") = Trim(UCase(TxtSifre.Text)) myrs.fields("seviye") = CmbSeviye.Text myrs.update myrs.close Private Sub Form_Load() labeltext = "1-Okuma/Yazma/Silme/Ayarlar" labeltext = labeltext & Chr(13) & "2-Okuma/Yazma/Silme" labeltext = labeltext & Chr(13) & "3-Okuma/Yazma" labeltext = labeltext & Chr(13) & "4-Okuma" Label5.Caption = labeltext FrmIlce Private Sub CmdIlceEkle_Click() If CmbIl.Text = "" Then MsgBox "Önce bir il adı seçiniz", vbcritical, "UYARI" Exit Sub ilceadi = InputBox("Eklenecek İlçeyi Giriniz", "İl-İlçe Düzenle") If ilceadi <> "" Then sql = "SELECT * FROM ILLER WHERE IL = '" & CmbIl.Text & "' AND ILCE=NULL" Eğer ilçe alanı boş olarak yeni girilmiş bir il varsa öncelikle bu dolduruluyor. Set myrs = mydb.openrecordset(sql, dbopendynaset) If Not myrs.eof Or Not myrs.bof Then myrs.movefirst myrs.edit myrs.fields("ilce") = Trim(UCase(ilceadi)) myrs.update Else İlçe alanı boş olan yeni girilmiş bir il yok. O halde iliyle ve ilçesiyle yeni bir kayıt ekleniyor. myrs.close Set myrs = mydb.openrecordset("iller", dbopendynaset) myrs.addnew myrs.fields("il") = CmbIl.Text myrs.fields("ilce") = Trim(UCase(ilceadi)) myrs.update myrs.close CmbIlce.AddItem Trim(UCase(ilceadi)) Private Sub CmdIlEkle_Click() 29

30 iladi = InputBox("Eklenecek İli Giriniz", "İl-İlçe Düzenle") If iladi <> "" Then Set myrs = mydb.openrecordset("iller", dbopendynaset) myrs.addnew myrs.fields("il") = Trim(UCase(iladi)) myrs.update myrs.close CmbIl.AddItem Trim(UCase(iladi)) Private Sub CmdKapat_Click() Private Sub Form_Load() Set myrs = mydb.openrecordset("select IL FROM ILLER GROUP BY IL", dbopensnapshot) Birden çok sayıda aynı adla yer alan il grubundan sadece birisi seçiliyor. Böylece combobox ta il adlarının tekrarlanması önlenmiş oluyor. myrs.movefirst While Not myrs.eof CmbIl.AddItem myrs.fields("il") myrs.movenext Wend myrs.close Private Sub CmbIL_Click() CmdIlceEkle.Enabled = True CmbIlce.Clear Set myrs = mydb.openrecordset("select ILCE FROM ILLER WHERE IL='" & CmbIl.Text & "'", dbopensnapshot) myrs.movefirst While Not myrs.eof If myrs.fields("ilce") <> "" Then CmbIlce.AddItem myrs.fields("ilce") myrs.movenext Wend myrs.close FrmSifreDeg Private Sub CmdIptal_Click() 30

31 Private Sub CmdTamam_Click() If TxtEski.Text = "" Or TxtYeni.Text = "" Or TxtYeniT.Text = "" Then MsgBox "Lütfen alanların tümünü doldurun.", vbcritical Exit Sub If Trim(UCase(TxtEski.Text)) <> sifre Then MsgBox "Eski şifreniz yanlış. Lütfen tekrar deneyin.", vbcritical TxtEski.Text = "" TxtEski.SetFocus Exit Sub If TxtYeni.Text <> TxtYeniT.Text Then MsgBox "Yeni şifrenizi yanlış girdiniz. Lütfen tekrar deneyin.", vbcritical TxtYeni.Text = "" TxtYeniT.Text = "" TxtYeni.SetFocus Exit Sub Set myrs = mydb.openrecordset("select * FROM KULLANICI WHERE KLNKOD='" & kullanici & "'", dbopendynaset) myrs.edit myrs.fields("sifre") = Trim(UCase(TxtYeni.Text)) myrs.update myrs.close sifre = Trim(UCase(TxtYeni.Text)) 31

32 Personal Oracle Lite 7 (POLite7) Uygulamaları Bu bölümde, MS Visual Basic programından ODBC bağlantısı kurularak Personel Oracle Lite7 ile hazırlanmış bir veritabanı ile nasıl veri alışverişi gerçekleştirebileceğimiz anlatılacaktır. Bunun için, öncelikle sistemimize gereken Oracle araçlarını kurmamız gereklidir. Başlangıç için bu araçlardan Oracle Navigator ve sistemimizde zaten mevcut olan ODBC Administrator yeterli olacaktır. POLite7 sistemimize kurulduğunda, bu gibi araçlarla birlikte bağlantı için gereken POLite adlı ODBC sürücüsü de otomatik olarak kurulacaktır. Birinci aşama, Oracle Navigator kullanılarak bir veritabanı oluşturulmasıdır. 1. Oracle Navigator Yazılımını Kullanarak Bir Veritabanı Oluşturmak Sağ-tuş menüsünden New seçeneği ile isim verilerek yeni bir veritabanı oluşturulur. Description, istenirse verilebilir. Oluşturulan veritabanı için bir kullanıcı benzer yöntemle (Sağ-tuş, New) tanımlanabilir. Aynı metotla oluşturulan tabloya bir isim verilir ve Owner kısmında daha önce oluşturulan kullanıcı seçilir. 32

33 Column Name kısmında alan adları, Type kısmında alan türleri, Size kısmında alan boyutları, Can be Null? kısmında alanın boş kalmasına izin verilip verilmeyeceği (işaretli ise izin verilir), Unique kısmında tek olup olmayacağı (işaretli ise tektir) ve Primary Key kısmında ise birincil alan olup olmadığı belirlenebilir. Her tablo en az bir birincil alan içermelidir. İkinci a şama, oluşturulan veritabanını programımızda çağırabilmek için ilgili ODBC sürücüsünü kullanan, kullanıcı tanımlı bir Veri Kaynak Adı (Data Source Name-DSN) oluşturmaktır. V eri Türleri NUMBER Genel kullanım için sayı türü veridir. Ondalık ya da tamsayılar için kullanılabilir. En fazla 38 ondalık basamak içerir. Sayısal sınırları 1.0E-129 ile 9.99E125 arasındadır. CHAR En fazla byte uzunluğunda string türü veriler için kullanılabilir. VARCHAR2 Değişen uzunlukta string türü veriler için kullanılan popüler bir veri türüdür. LONG Varchar2 ile aynı işlevlidir. Ancak WHERE, GROUP BY ve CONNECT BY SQL deyimleri ile çalışmaz. RAW Binary verileri ve byte dizilerini saklamak için kullanılır. LONG RAW Raw ile aynı işlevli, ancak Long türünde olduğu gibi seçme işlemi gerçekleştiren SQL deyimleri ile çalışmaz. ROWID Veritabanındaki verilerin adres bilgileriniş saklamak için kullanılır. Rowid bu bilgiyi maksimum 256 byte uzunluğunda binary bir veri olarak saklar. Bunu bizim anlayabileceğimiz string türü bir veriye ROWIDTOCHAR fonksiyonunu kullanarak dönüştürebiliriz. Dönüşen verinin biçimi, BBBBBBBB.RRRR.FFFF olacaktır. Burada BBBBBBBB veritabanı dosyasındaki bloğu, RRRR bloktaki satırı ve FFFF veritabanı dosyasını gösterir. 33

34 DATE M.Ö.4712, 1 Ocak ile M.S.4712, 31 Aralık sınırları içinde kalan bir tarih verisini saklamak için kullanılır. 2. ODBC Veri Kaynağı Yöneticisini Kullanarak Bir DSN Oluşturmak ODBC Veri Kaynağı Yöneticisi bize, sistemde yüklü bulunan mevcut ODBC sürücülerini listeleyecektir. Kendi uygulamamız için bir DSN tanımlamak için öncelikle Ekle butonuna basmalıyız. 34

35 Sürücü olarak Oracle Lite ODBC Driver seçilir. Data Source Name olarak istenilen bir isim verilebilir. Data Directory, geçerli dizin olarak yandaki şekilde belirlenmiştir. Database ise, daha önceden Oracle Navigator kullanarak oluşturduğumuz veritabanının adıdır. Tamam butonuna basıldığında ODBC sürücümüz servise hazırdır, afiyet olsun. 3. ODBC Sürücüsünü Kullanarak Bir Veritabanı Uygulaması Geliştirmek Bu uygulamada amaç, bir Oracle veritabanında veri girişi, veri arama, veri güncellemesi ve veri silmearama gibi temel işlemlerin gerçekleştirilmesidir. Veri arama tek (unique) olarak tanımlanmış TC Kimlik Numarası alanına göre kesin eşleşme prensibine göre yapılmaktadır. Uygulamada, ODBC veritabanına bağlantı cümlesine ve işlemlerde SQL deyimlerinin nasıl çalıştırıldığına dikkat ediniz. Açıklamalı kodlar aşağıda verilmiştir. KOD Private Sub Form_Load() DB_FILENAME = "ODBC;UID=tg;DSN=dnm_ dsn;database=dnm_database" Set MyDB = OpenDatabase("", False, False, DB_FILENAME) Dim t1, t2, t3, SQL As String Dim MyRS As Recordset Sub Temizle() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.SetFocus AÇIKLAMALAR Burada DB_FILENAME veritabanı bağlantı cümlesidir ve veritabanı ile DSN tanımlamasındaki bilgiler kullanılarak oluşturulur. Değişken tanımlamaları ve alanların tümünü temizleyen alt program. 35

36 Private Sub Command1_Click() EKLE butonu t1 = Trim(Text1.Text) t2 = Trim(Text2.Text) t3 = Trim(Text3.Text) t4 = Trim(Text4.Text) If t1 <> "" And t2 <> "" Then SQL = "INSERT INTO ANATABLO (TCKIMLIKNO,OGRNO,AD,SOYAD) VALUES ('" & t1 & "'," & CInt(t2) & ",'" & UCase(t3) & "','" & UCase(t4) & "')" MyDB.Execute SQL Call Temizle Else MsgBox "Zorunlu alanları giriniz!" Burada önemli nokta, veri girişinin SQL cümlesinin doğrudan veritabanı üzerinden.execute metodu kullanılarak çalıştırılması ile gerçekleştirilmesidir. Bu metodu, veri çekme deyimleri için (SELECT gibi) kullanamayız. Private Sub Command2_Click() ARA butonu SQL = "SELECT * FROM ANATABLO WHERE TCKIMLIKNO = '" & Trim(Text1.Text) & "'" Set MyRS = MyDB.OpenRecordset(SQL, dbopendynaset) If MyRS.EOF = False Or MyRS.BOF = False Then Text2.Text = MyRS("OGRNO") Text3.Text = MyRS("AD") Text4.Text = MyRS("SOYAD") Else MsgBox "Aranan kayıt bulunamamıştır..." Call Temizle Private Sub Command3_Click() DÜZELT butonu t1 = Trim(Text1.Text) t2 = Trim(Text2.Text) t3 = Trim(Text3.Text) t4 = Trim(Text4.Text) If t1 <> "" And t2 <> "" Then SQL = "UPDATE ANATABLO SET AD = '" & UCase(t3) & "',SOYAD = '" & UCase(t4) & "' WHERE TCKIMLIKNO = '" & t1 & "'" MyDB.Execute SQL, dbsqlpassthrough Call Temizle Else MsgBox "Zorunlu alanları giriniz!" Private Sub Command4_Click() End Private Sub Command5_Click() Call Temizle Burada SQL deyimi OpenRecordset ile kullanılıyor. Doğrudan çalıştırılması mümkün değil. Yöntem aynen Native veritabanı bağlantısında olduğu gibi çalışıyor. SQL deyimi doğrudan çalıştırılıyor. Ancak özel bir parametre olan dbsqlpassthrough ile. Bu parametre SQL deyimini doğrudan ODBC veritabanına geçirir. Deyim, MS Jet Engine kontrollerinden muaf olur (bkz:bir sonraki sayfa). Veri üzerinde write (yazma) işlemi gerçekleştirecek SQL deyimlerinin bu şekilde çalıştırılması gereklidir. KAPAT butonu. TEMİZLE butonu 36

37 Private Sub Command6_Click() SİL butonu SQL = "DELETE FROM ANATABLO WHERE TCKIMLIKNO = '" & Trim(Text1.Text) & "'" MyDB.Execute SQL, dbsqlpassthrough Call Temizle Global MyDB As Database Burada da düzeltme işleminde olduğu gibi SQL deyimi dbsqlpassthrough ile doğrudan çalıştırılıyor. Modül tanımlaması. 4. MS VB Programı & ODBC ORACLE Veritabanı Erişim Hiyerarşisi 37

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri VERİTABANI BAĞLANTISI Site içindeki bilgilerin saklanması / düzenlenmesi ve kullanıcı etkileşiminin sağlanabilmesi

Detaylı

VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ

VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ VISUAL BASIC TE VERĠ TABANI ĠġLEMLERĠ Veri tabanı ne olursa olsun mutlaka bir bağlantı(connection) nesnesi olması gerekir. Microsoft ürünlerinde veri tabanına bağlantı için ADO (ActiveX Data Objects= X

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

INPUTBOX() ile Veri Girişi

INPUTBOX() ile Veri Girişi VISUAL BASIC DE VERİ GİRİŞİ VE EKRAN MESAJLARI INPUTBOX() ile Veri Girişi Yapısı : Default Değer Form Üzerindeki Konum (0,0) sol üst köşe Değişken adı Veri Giriş Kutusu Gövdesindeki Mesaj Veri Giriş Kutusu

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

OTOBÜS İŞLETMESİ OTOMASYONU. Otobüs işletmesi Otomasyonu hazırlanırken takip edilen Yazılım Geliştirme Süreçleri yukarıda gösterilmiştir.

OTOBÜS İŞLETMESİ OTOMASYONU. Otobüs işletmesi Otomasyonu hazırlanırken takip edilen Yazılım Geliştirme Süreçleri yukarıda gösterilmiştir. YAZILIM GELİŞTİRME SÜREÇLERİ PLANLAMA ÇÖZÜMLEME TASARIM GERÇEKLEŞTİRME BAKIM OTOBÜS İŞLETMESİ OTOMASYONU Proje Konusu : Yazılım Otobüs işletmeleri için Bilgi işlem ihtiyacını giderebilmek amacıyla hazırlandı.

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA BÖLÜM 9 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA Bu bölümde Oracle Forms programı ile örnek bir form hazırlanması anlatılacaktır. 9.1 ORACLE FORMS ile FORM Oluşturma Nasıl Delphi programının

Detaylı

İnternet Programcılığı

İnternet Programcılığı 1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SAKLI YORDAM (Stored Procedure) Sibel Somyürek SAKLI YORDAM (Stored Procedure) Sibel Somyürek Saklı Yordam Saklı yordamlar veritabanı kataloğunda saklanan SQL kod bloklarının tanımlanmasıdır. Mesela, iki sayı alıp bunların toplamlarını hesaplayan bir

Detaylı

BÖLÜM 6 6. VERİ ERİŞİM NESNELERİNİN KULLANIMI 6.1. GİRİŞ

BÖLÜM 6 6. VERİ ERİŞİM NESNELERİNİN KULLANIMI 6.1. GİRİŞ BÖLÜM 6 6. VERİ ERİŞİM NESNELERİNİN KULLANIMI 6.1. GİRİŞ Bu bölümde Microsoft Jet veritabanı motoru ve onun programlama modeli olan DAO (Data Access Objects Veri Erişim Nesneleri) konu edilecektir. Bunun

Detaylı

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-1 Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. a) İki adet ondalıklı sayı tanımlaması yapınız

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

AOSB 2017 EĞİTİM PROGRAMI

AOSB 2017 EĞİTİM PROGRAMI Eğitimin Konusu : Makro Excel Eğitim Tarihi : 04-05-10-11-12 Mayıs 2017 Eğitim Hedef Kitlesi : Excel kulllanıcıları arasında pratiklik ve hız kazanmış, Excel fonksiyonları, Veri Analizi araçlarını kullanma

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1 PHP ile Veritabanı İşlemleri Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ-II

VERİ TABANI YÖNETİM SİSTEMLERİ-II VERİ TABANI YÖNETİM SİSTEMLERİ-II 3. MİCROSOFT SQL SERVER ARAYÜZ HİTİT ÜNİVERSİTESİ SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI / 2. SINIF-GÜZ DÖNEMİ SQL Server

Detaylı

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır BÖLÜM 3 3.VİSUAL BASİC DE DEGİŞKEN TANIMLAMA Degişken tanımlarken Visual Basic te Dim bildiri deyimini kullanabiliriz. Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli olmasını sağlar.

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1. Uygulamalar 4 IsMissing (Değişken) Visual Basic te fonksiyon veya alt programlara giriş parametresi olarak Optional deyimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing

Detaylı

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu VERİ TABANI I Yrd.Doç.Dr. İlker ÜNAL Teknik Bilimler Meslek Yüksekokulu Veri Tabanı Bileşenleri Tablolar : Veritabanının temel nesnesi tablolardır. Bilgilerin asıl tutulduğu yer tablodur. Diğer veritabanı

Detaylı

Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır.

Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır. MSGBOX ve QueryUnload Olayı Uygulaması Uygulama Bu uygulama, MSGBOX fonksiyonun ve Form nesnesinin QueryUnload olayının kullanımı ile ilgili bir uygulamadır. Msgbox Deyimi ve Fonksiyonu MsgBox deyimi,

Detaylı

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları 11TA Veritabanı Organizasyonu Dersi 20.11.2018 MS ACCESS Ders Notları Access bir veritabanı programıdır. Veritabanı, bir konuyla ilgili çok sayıda kaydın tutulduğu bir bilgi havuzu olarak nitelendirilebilir.

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

VERİTABANI & VERİTABANI YÖNETİMİ

VERİTABANI & VERİTABANI YÖNETİMİ VERİ NEDİR? Dağınık bilgi kümesidir. VERİTABANI & VERİTABANI YÖNETİMİ Veri, anlamlı bir şekilde düzenlendiği zaman yararlı bilgi olur. Dr. Mehmet AKSARAYLI VERİTABANI NEDİR? Birbiri ile ilişkili veriler

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1 5 SQL- Yapısal Sorgulama Dili Veritabanı 1 SQL- Yapısal Sorgulama Dili SQL ifadeleri yapısal olarak üç gruba ayrılır. Veri Tanımlama Dili (DDL - Data Definition Language) Veri İşleme Dili (DML - Data Manipulation

Detaylı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Oracle (Devam) SELECT INTO Deyimi Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Genel ifade: SELECT kolonisimler INTO

Detaylı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 Veri Tabanı 1 1. SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 2. SQL Management Studio açılış ekranı: Server Type: reporting, analysis

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

Veritabanı üzerinde tablolara ve alanlara uygulanabilecek birçok kural vardır.

Veritabanı üzerinde tablolara ve alanlara uygulanabilecek birçok kural vardır. BÖLÜM 7 7.İLERİ DÜZEY VERİ TABANI GELİŞTİRME 7.1. VERİ BÜTÜNLÜĞÜNÜ SAĞLAMA. Visual Basic ile veritabanı geliştirirken sağlanan önemli bir özellik de veri bütünlüğünü koruma özelliğidir. Bu ilişkisel veritabanı

Detaylı

Bölüm 4: DDL Veri Tanımlama Dili

Bölüm 4: DDL Veri Tanımlama Dili Bölüm 4: DDL Veri Tanımlama Dili -43- Dr. Serkan DİŞLİTAŞ DDL (Data Definition Language Veri Tanımlama Dili : Bu kategorideki SQL komutları ile veritabanları, tablo, görünüm ve indekslerin yaratılması,

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer. Döngüsü En basit döngü yapısıdır. Hiçbir kontrol yapılmadan ve ifadeleri arasındaki satırların işlem görmesi için kullanılır. Bu yapıda programın terkedilmesi için herhangi bir kontrol olmadığından, döngü

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) BÖLÜM 5 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER) 5.1 CURSOR (İMLEÇ) VE ÖZELLİKLERİ. Birden fazla kaydın hafızaya getirilme işlemlerine imleç(cursor) açma denir. İmleç açma, özellikle

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 1 Access e Nasıl Ulaşılır Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 2 Çeşitli araç çubukları arasında seçim yapılarak pencere üzerine eklenebilir. Bunun

Detaylı

"SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz.

SQL Server Management Studio yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz. Microsoft SQL Server 2008 R2 Kurulumu "SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz. http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

Detaylı

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

1. Excel Dönüşümü : 2. Rapor Master Tanımları : Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.

Detaylı

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET ve ADO Bir uygulamanın esas gücünü, veri, veritabanları veya veri kaynakları ile olan ilişkisi belirler. Geleneksel

Detaylı

Oracle Database 11g: Introduction to SQL

Oracle Database 11g: Introduction to SQL Oracle Database 11g: Introduction to SQL Mehmet Salih DEVECI GTECH-Kıdemli Veritabanı Yöneticisi Mehmetsalih.deveci@gtech.com.tr BÖLÜM- 1: SQL E GİRİŞ SELECT ifadesinin kabiliyetlerinin ortaya çıkarılması

Detaylı

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme Vbnet access bağlantısı, ekleme, güncelleme, silme Imports System.Data.OleDb 'DataGridView nesnesine verileri aktar Private Sub Listele(ByVal SQL As String) Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Veri Hiyerarşisi Dosyalar ve Akımlar(streams) Sıralı Erişim (Sequential Access) dosyalarının oluşturulması Sıralı Erişim Dosyalarından Veri Okuma Rasgele

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

Detaylı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language

Detaylı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011 Veritabanına Giriş Oğuzhan Ceylan 19 Eylül 2011 Outline Veritabanı MYSQL Mysql Sorgu Komutları Bir veritabanı yaratmak ve kullanmak Veritabanı Veritabanı Verittabanı hangi alanlarda kullanılıyor. Web sitesi

Detaylı

ACCESS PLATFORMUNDA SQL

ACCESS PLATFORMUNDA SQL ACCESS PLATFORMUNDA SQL (STRUCTURED QUERY LANGUAGE) KODLAMA ÖRNEKLERİ DISTINCT : Bir alanda birbirinin aynı kayıtlar bulunabilir. Öğrenciler tablosundaki aynı isimde öğrencilerin bulunması durumunda aynı

Detaylı

Veri Taban ve Visual Basic

Veri Taban ve Visual Basic Veri Taban ve Visual Basic Geçmite, random dosya ve yap deikenleri ile oluturulan kaytlar bugünkü veri taban uygulamalarnn temelini oluturmaktadr. Random dosya ve yap deikenleri ile oluturulan veri taban

Detaylı

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama 2.3.1.1. Değişken İşlemleri Proje Yöneticisi penceresinin üst kısmındaki açılım "Variables" seçildiğinde pencerenin altında klasör ayraç etiketleri şeklinde sistem değişkenlerini tanımlama seçenekleri

Detaylı

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek. Ms SQL Sunucu Düzeyinde Güvenlik Bölüm Veritabanı Yönetimi Yazar Mustafa ÖZEN Yayın Tarihi 04.03.2004 Okunma Sayısı 805 Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek. Hedefler Kimlik denetemini

Detaylı

Timer İle arka plan renk değişimi

Timer İle arka plan renk değişimi Microsoft Visual Studio Visual Basic Timer İle arka plan renk değişimi Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1000 'milisaniye

Detaylı

10-Veri Tabanları. www.cengizcetin.net

10-Veri Tabanları. www.cengizcetin.net 10-Veri Tabanları 1 VERİ TABANI VERİTABANI (DATABASE) Birbiri ile ilişkili bir veya daha fazla tablodan oluşan bilgi topluluğudur. Veri tabanındaki tablolara ulaşılarak sorgulama yapılır ve istenilen bilgiler

Detaylı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

VİSUAL BASİC İN VERİ TABANLARI İLE ETKİLEŞİMİ

VİSUAL BASİC İN VERİ TABANLARI İLE ETKİLEŞİMİ VİSUAL BASİC İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi işlem dünyasında uzun tecrübe ve aşamalardan sonra ulaşılmış bir kavramdır ve klasik dosya yönetimine bir alternatif

Detaylı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur. Oracle (Devam) SELECT INTO deyimi Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur. Genel ifade; SELECT koloisimleri INTO değişkenisimleri

Detaylı

SORGULAR VE ÇEŞİTLERİ II

SORGULAR VE ÇEŞİTLERİ II Ünite 8 SORGULAR VE ÇEŞİTLERİ II Öğr. Gör. Kemal ÖZCAN Bu ünitede, Sorgular ve Çeşitleri konusu ele alınacaktır. Yapılacaklar Burada yazılan SQL ifadeleri MS SQL SERVER, ORACLE ve MySQL veritabanı sistemlerinin

Detaylı

SQL Uyarı Programı Kurulum ve Kullanımı

SQL Uyarı Programı Kurulum ve Kullanımı SQL Uyarı Programı Kurulum ve Kullanımı Kurulum 1. SQL Uyarı.zip dosyası açılır. 2. SQL Uyarı.exe programı çalıştırılır. 3. Üstteki ekran açılır ok. Butonuna basılır. 4. Ayarlar ekranı seçilir. 4.1 Server

Detaylı

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu Erişim Makina Umut Aytaç Mutlu 15 Aralık 2010 2 İÇİNDEKİLER 1. Rol Tanımlama... 3 2. Yetki Tanımlama... 3 3. Kullanıcı Tanımlama... 4 3.1. Kullanıcı Adı... 4 3.2. Kullanıcı Bilgileri... 4 4. Kullanıcıya

Detaylı

OPTION BUTTON ve ELSEIF UYGULAMALARI

OPTION BUTTON ve ELSEIF UYGULAMALARI OPTION BUTTON ve ELSEIF UYGULAMALARI OPTION düğmeleri, Muhtelif seçeneklerin olduğu ve bu alternatif seçeneklerden birisinin seçilmesi gerektiği durumlarda kullanılan nesnelerdir. Daire şeklindeki bu option

Detaylı

Swing ve JDBC ile Database Erişimi

Swing ve JDBC ile Database Erişimi Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği

Detaylı

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını

Detaylı

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

Laboratuvar 2 Tek Kayıt Fonksiyonları

Laboratuvar 2 Tek Kayıt Fonksiyonları Laboratuvar 2 Tek Kayıt Fonksiyonları Fonksiyonlar sıfır veya daha fazla bağımsız değişken alan ve sonuçta sadece bir değer döndüren programlardır. Oracle ile birlikte birkaç hazır fonksiyon gelmektedir.

Detaylı

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu UYGULAMALAR Uygulama 1:Komut butonu, metin kutusu ve liste kutusu kullanarak bir program oluşturacağız. Programda, bir metin kutusuna girilen sayılardan pozitif olanlar bir listeye, negatif olanlar başka

Detaylı

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI TABLOLARIN OLUŞTURULMASI Programda beş temel dosya üzerinde çalışılmiştır. Bunlar aşağıdaki resimde görülen Malzeme, Personel,

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

=A1+A2-A3, =A1*A2/A3,

=A1+A2-A3, =A1*A2/A3, 1 2 3 Formül Oluşturma: Excel de formüller = ile başlar. Örnek formüller; =ortalama(b1;c1) b1 ile c1 hücrelerinin ortalamasını alır =toplam(a1;b1) a1 ile b1 hücrelerinin toplama formülünü verir. =çarpım(a1;b1;c1;..)

Detaylı

SORGULAR. Öğr.Gör.Volkan Altıntaş

SORGULAR. Öğr.Gör.Volkan Altıntaş SORGULAR Öğr.Gör.Volkan Altıntaş SORGULAR VE ÇEŞİTLERİ Seçme Sorguları: En sık kullanılan sorgu türüdür. Seçme sorguları, bilgileri veri sayfası görünümü nde gösteren veri tabanı nesnesi türüdür. Sorgu,

Detaylı

Asp.Net Veritabanı İşlemleri

Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde

Detaylı

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun

Detaylı

Veri Tabanı Tasarım ve Yönetimi

Veri Tabanı Tasarım ve Yönetimi SAKARYA ÜNİVERSİTESİ Veri Tabanı Tasarım ve Yönetimi Hafta 5 Prof. Dr. Ümit KOCABIÇAK Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun

Detaylı

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları 1 Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Değişkenler ve Veri tipleri Visual Basic 6.0 Ders Notları Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

Kets DocPlace LOGO Entegrasyonu

Kets DocPlace LOGO Entegrasyonu Kets DocPlace LOGO Entegrasyonu Kets DocPlace Kurulumu Öncesinde Yapılması Gereken İşlemler Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012 veya daha yeni işletim sistemlerinde Programlar

Detaylı

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür. Vega Ayarları Vega muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak

Detaylı

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir. VERİ BÜTÜNLÜĞÜ VTYS lerde veri bütünlüğünü sağlamanın iki temel yolu vardır; Tanımlanabilir veri bütünlüğü ve prosedürel veri bütünlüğü. Tanımlanabilir veri bütünlüğü, tanımlanan nesnelerin kendi özellikleri

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ

İNTERNET PROGRAMCILIĞI DERSİ İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama

Detaylı

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL Deyimleri Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL NEDİR? SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir.

Detaylı

AYAKTAN HASTA İLAÇ MUAFİYET RAPORU

AYAKTAN HASTA İLAÇ MUAFİYET RAPORU S İS O F T S AĞ L I K BİL G İ S İS T E ML E R İ 2019 - ANK AR A 1. SUNUM 1.1. Genel Hususlar İlaç Muafiyet Raporu, hastanın muayenesi sonrasında uzun süreli ilaç kullanımına karar verildiği durumlarda

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 10. FORMLAR ve VISUAL BASIC PROGRAMINDA FORM OLUŞTURMA

VERİ TABANI YÖNETİM SİSTEMLERİ II. 10. FORMLAR ve VISUAL BASIC PROGRAMINDA FORM OLUŞTURMA BÖLÜM 10 10. FORMLAR ve VISUAL BASIC PROGRAMINDA FORM OLUŞTURMA Bu bölümde Visula Basic 6.0 ile birlikte kullanılmaya başlayan veritabanı tasarım ve elemanları ile veri tabanı tasarımı ve form oluşturulması

Detaylı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili) SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3 İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3 1. Özellikler.3 2. Kullanım..3 2.1. Ana Sayfa..5 2.2. Talep Modülü.7 2.3. Takibim Modülü 9 2.4. Takipte Modülü..11 2.5. Silinen Talepler Modülü...11

Detaylı

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN 1 AHMET YESEVİ ÜNİVERSİTESİ İLERİ VERİTABANI SİSTEMLERİ ORACLE VERİTABANI KURULUMU VE PL/SQL DEYİMLERİ SUAT ÜSTKAN 102173019 BİLGİSAYAR MÜHENDİSLİĞİ YÜKSEK LİSANS ARALIK 2010 2 İçindekiler 1. Oracle Database

Detaylı

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Veritabanı Tasarımı. DML İşlemleri ve Görünümler Veritabanı Tasarımı DML İşlemleri ve Görünümler Konular Basit bir görünümde DML işlemlerini gerçekleştiren bir sorgu yazma ve çalıştırma DML işlemleri kullanarak bir görünümü değiştirme yeteneğini kısıtlayan

Detaylı

Enlil programını açtığımızda karşımıza gelen ilk ekrandır.bu ekranda özel tanımlanmış kullanıcı kodu ve parola ile programa giriş sağlanmaktadır.

Enlil programını açtığımızda karşımıza gelen ilk ekrandır.bu ekranda özel tanımlanmış kullanıcı kodu ve parola ile programa giriş sağlanmaktadır. Enlil programını açtığımızda karşımıza gelen ilk ekrandır.bu ekranda özel tanımlanmış kullanıcı kodu ve parola ile programa giriş sağlanmaktadır. Özel tanımlanmış kullanıcı kodu ve parola girildikten sonra

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler SQL'de Veri İşleme Komutları SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı