Gelir Gider Takip

Merhabalar, Bugün Android işletim sistemi tabanlı mobil telefonlar için geliştirdiğim Gelir Gider Takip adlı uygulamamı tanıtacağım. Uygulama adından da anlaşılacağı gibi gelir gider muhasebe kayıtlarını tutmak için geliştirilmiştir.Günlük hayatta birçok insanın ihtiyaç duyduğu bir uygualamadır.İnsanların nereye ne harcadığı veya nereden ne kazandığı, aylık ve yıllık bilanço konusunda sorunlar yaşadığını görmekteyiz.İnsanlara faydalı olması amacıyla geliştirmiş olduğum bu uygulama ile özet halinde görebileceğiniz aylık ve yıllık gelir gider kalemleri için raporlar hazırlanmıştır.Her ay alınan maaş gibi yada her ay ödenen kira gibi sürekli olan ve aynı işlemler için kullanıcıya otomatik kayıt başlığı altında otomatik kayıt özelliği ile kolaylık sağlanmıştır.Uygulamanın kısa menüsünde tüm kayıtları silme,sadece otomatik olan tüm kayıtları silme,Son yapılan gelir-gider yada otomatik kayıtlar halinde küçük özetler görmek için çeşitli ekranlar bulunmaktadır. Uygulamaya buradan ulaşabilirsiniz.
spacer

Android Telefonlar için Geliştirdiğim Şehirler Arası Mesafe Hesaplayan Programı

Merhaba,

Bugün sizinle Android Cep Telefonları için geliştirdiğim Şehirler Arası Mesafe hesaplayan programımı paylaşmak istedim.Program T.C Karayolları'nın belirlediği uzaklık değerlerine göre çalışmaktadır.

Bu linkten programa ulaşabilirsiniz.
spacer

Android Telefonlar için Geliştirdiğim Para Birimi Dönüştürücü Programı

Merhaba,

Bugün Android telefonlar için geliştirdiğim Currency Convertor adında ülke para birimlerini dönüştüren programımı sizinle paylaşmak istedim.Uygulama web service ler kullanılarak android işletim sistemi için geliştirilmiştir.Para birimi değerleri static değildir.İnternet bağlantınız olması durumunda sürekli olarak son durum güncellemelerine göre dönüştürme yapmaktadır.Dünyada var olan 150 den fazla para birimini barındırmaktadır.Faydalı olması temennilerimle...


Bu linkten programa ulaşabilirsiniz.
spacer

Telsiz Ağlar

Merhaba arkadaşlar

Bu sene Ağ Güvenliği dersinde almış olduğum sunumu(Telsiz Ağlar) sizler ile paylaşmak istedim.Sunum planı içinde Telsiz Ağlar nedir?,Telsiz Ağların çalışma çeşitleri,Avantaj ve Dezavantajları,Telsiz Ağlarda Güvenlik Protokolleri (WEP,WPA,WPA2) bulunmaktadır.Slaytın altındaki sunumu indir linkinden upload ettiğim adresten sunumu indirebilirsiniz.




Daha fazla sunum için Abdullah Çetinkaya.


Sunumu indir
spacer

Navicat 9 Premium ile Oracle 11g Bağlantısı Nasıl Kurulur?

Evet arkadaşlar bildiğiniz üzere Oracle dünyanın en büyük Veri Tabanı Yönetim Sistemi.Oracle’a bağlanmak için farklı araçlar var.Veri tabanına bağlanmak için SQL*Plus,Sql Developer gibi arayüzler vardır.Bu arayüzlerin amacı veri tabanının fiziksel şemalarını mantıksallık şemalar va dışsal arayüze dönüştürmektir.Yani kullanıcının anlayacağı bir şekle dönüştürmektir.Bugünlerde öğrendiğim bir diğer araç Navicat tir.Bu aracın sadece Oracle için değil farklı Veri Tabanı Sistemlerine bağlantısını sağlayan sürümleri mevcuttur.Ben MySQL,PostgreSQL,Oracle ve SQLite gibi farklı sistemlere bağlantıyı sağlayabilecek olan Premium olanını anlatacağım.

Connection’dan Orace’ı seçiyoruz.Ardından gerekli bilgileri girip OK dediğimiz zaman Cannot load OCI DLL başlığında bir hata veriyor ve bir link çıkıyor.Bu linke tıklıyoruz ve linkin olduğu adresi açıyoruz ve Instant Client for Microsoft Windows 32 bit ‘e tıklıyoruz.Buradan bu linke ulaşabilirsiniz.Accept License Agreement seçtikten sonra Version 11.2.0.2.0 den instantclient-basic-nt-11.2.0.2.0.zip (50,325,016 bytes) zip ini indiriyoruz.İndirme işleminden sonra zip i klasöre çıkarıyoruz.Ardından Tools menüsünden Options OCI yi tıkladıktan sonra OCI library den klasör içindeki oci.dll i seçip OK diyoruz.


Son olarak tekrar Connection’a giriyoruz ve gerekli bilgileri giriyoruz.Connection Name alanına herhangi bişey yazabiliriz.Connection Type:Basic ve Host Name/IP Address:localhost(Oracle kurarken yaptığımız ayarlardan sizde kendi ip nizi gireceksiniz.)User Name:Kullanıcı Adını ve Password:Şifre girerek Test Connection ile test işlemini yapıp Connection Successful sonucunu gördükten sonra OK diyerek işlemlerimizi bitiriyoruz ve bağlantımız sağlanmış oluyor.Bağlantı adına ve ardından kullanıcı adına tıklayarak table,view vs ulaşabiliriz.


Tüm bu işlemleri yaptığımız zaman (Service)Hizmetlerden Oracle ile ilgili hizmetlerin başlatılmış olması gerekiyor.
spacer

enter the full pathname for java.exe

Oracle kurup da Sql developer tool ‘u ile veri tabanına bağlanmak isteyen arkadaşlar böyle bir ekranla karşılaşmaktadırlar.Oracle ‘ın sisteminizde çalışması için java.exe ‘nin kurulu olması gerekiyor işte bu da sizden bu java.exe ‘nin yolunu istiyor.Makinenizde java kurulu ise aşağıdaki yoldakine benzer olan makinenizin yolunu bulabilir ve OK diyerek giriş yapabilirsiniz.



D:\app\abdullah\product\11.2.0\db_1\jdk\jre\bin\java.exe
spacer

“The ‘Microsoft.ACE.OLEDB.12.0′ provider is not registered on the local machine.” hatası

Access veri tabanı kullanıp da proje yapmış olan arkadaşlar projelerini çalıştırmak istedikleri zaman böyle bir hatayla karşılaşabilirler.İşte bu hata makinenizde Access Database Engine ‘nin olmadığından kaynaklanır.Buradan bu exe ‘yi indirip kurduktan sonra projenizi çalıştırabilirsiniz.
spacer

MS ACCESS LOGON SIFRESI RECOVERY

Access için şifre koydunuz ve unuttunuz.Çözüm basit :)

C:\Users\abdullah\AppData\Roaming\Microsoft\Access gibi kendi makinenizdeki dizinin altındaki “System.mdw” dosyasını silmeniz yeterlidir.Siz dosyayı sildikten sonra bir sonraki Access açılışında otomatik olarak sistem bu dosyayı oluşturacaktır.Artık şifreniz silinmiştir.
spacer

ORACLE NVL FONKSIYONU

Veritabanımızdaki integer bir sütun, not null constraint`i ile tanımlanmamışsa boş olarak kaydedilebilir. Fakat biz bu alandaki değerin de içinde bulunduğu bir toplama işlemi yapmak istersek işlemin çıktısını boş olarak görürüz. Yapmamız gereken ise bu alandaki null değeri başka bir değerle değiştirmek. Eğer toplama işleminin sonucunu değiştirmek istemiyorsak değiştireceğimiz değerin `0` olması gerekmektedir.
NVL fonksiyonu null bir değeri başka bir değerle değiştirir.

Örnek olarak;

select id, urun_isim, son_kullanma_tarihi, bonus, fiyat+nvl(kdv,0);

Burada kdv değeri null olarak gelse bile onu “0″ değerine çevirir ve işlem için hata olmasını engeller. İsteseydik “0″ yerine başka bir değerde atayabilirdik.

Sorgu sonucu istediğimiz şekilde hatasız olarak değer döndürür. Bu sayede null olma sebebiyle oluşabilecek hataların önüne geçilmiş olduk.
spacer

ORACLE DECODE FONKSIYONU KULLANIMI

Oracle/PLSQL de if yapısını biliyorsunuzdur.If yapısının yaptığı işin benzerini yapar.Select sorgularımızda istediğimiz koşula göre verileri gösterme işine yarar.If yapısı daha çok prosedürel kod kısmında kullanılırken bu fonksiyon select de kullanılır.

Örneğin id alanına göre id değeri 1 ise şunu göstersin 2 ise şunu göstersin gibi bir örnek yapalım.



select student_name,
decode(id,1,’Birinci Sinif’,
2,’İkinci Sinif’,
‘mezun’) decode_kolonu
from student_table;



Örnekteki id kolon değeri 1 durumunda decode_kolonu Birinci Sinif, id değeri 2 ise İkinci Sinif ve diğer durumlar için de mezun stringi gösterilmiştir.

Bunun if yapısına göre karşılığı şöyledir.

İf(id==1) then

{

decode_kolonu:=”Birinci Sinif”;

}

elsif(id==2) then

{

decode_kolonu:=”İkinci Sinif”;

}

else

{

decode_kolonu:=”mezun”;

}

end if;



Yukarıdaki örnekte sadece id değeri için tek değer kontrolü yapılmaktadır.Diyelim ki id alanı 1 ile 10 arası olanlar kategori1 10 ile 20 arası olanlar kategori2 ve diğer durumlar için kategori3 olsaydı nasıl yapacaktık.Bir nevi tek koşul yerine iki koşul olsaydı durum nasıl olurdu?

select
decode(trunc(id/10),0,’kategori1′,
1,’kategori2′,
‘kategori3′) decode_kolonu
from bölümler;

Örnekte id alanı örneğin 8 ise 8/10 bize 0.8 değerini üretecek trunc fonksiyonuda bu arada söyleyelim ki kesme işlemi yapar noktadan sonrasını atar tam sayıyı döndürür bize yani sonuç 0 olur.0 ise ketagori1 olur.Bir diğer örnek 17 değeri olsun.bu değer 1.7 ve trunc(1.7) ile de 1 sonucunu üretir.yani kategori2 olmuş olur.Bu şekilde ister 10 ar 10 ar ister kendi istediğiniz değere göre aralık belirleyebiliriz.Bunun if kodu ise şöyledir.

if(id<10 and id>=0) then

{

decode_kolonu:=”kategori1″;

}

elsif(id<20 and id>=10) then

{

decode_kolonu:=”kategori2″;

}

else

{

decode_kolonu:=”kategori3″;

}

end if;
spacer

ORACLE PARTITION-SUBPARTITION

Tabloların boyutları büyüdükçe yapılacak olan select,insert,update gibi işlemler yavaşlar.Bir tablodaki veriler gigabyte seviyesine kadar gelir belki de daha fazla.İşte bu gibi durumlarda o tabloyu belli özelliklere göre partition yani bölümlere ayırırız.Ve böylece artık işlemlerimizi çok daha hızlı yaparız.Partitionların bir diğer güzel yanı Oracle’ın bize istediğimiz partition’u istediğimiz tablespace’e taşımamıza yada istediğimiz yerde yaratmamıza izin veriyor olmasıdır.Zaten burda amaç bir tablespace çok fazla veri ile dolduğu zaman yeni kayıt yeri olmaması ve bu verileri başka yere taşımaktır.Örneğin ilk bilgisayar sistemlerine geçildiği zaman herkesin kütük bilgileri yani TC Kimlik Numarasına göre basit kayıtların yapıldığını düşünelim.Zamanla bu tablo o kadar büyüyecekki herkesin kaydı oraya alıcak ve hergeçen gün de artmaya devam edecek.Bir süre sonra tablo üzerinde insert,select işlemi gibi işlemler çok yavaşlayacak.Hele ki diğer kurumlarda bu tablodan TC Kimlik No ya ulaşığ işlemleri buna göre yapıyorlarsa işte size partition ve subpartition :) Yıllara göre partition yapsak bu yavaşlıktan kurtuluruz.



Range Partition: Belirli bir limit aralığı

Hash Partition: Hash fonksiyonunun ürettiği sonuca göre

List Partition: Belli bir liste yaparak o liste baz alınarak yapılan partition

Range-Hash Partition: Range’e göre partition ve Hash’e göre subpartition

Range-List Partition: Range göre partition ve List’e göre subpartition



Evet örneğe geçmeden bir tablo içinde veri olmadan partition yapılmalıdır ki veriler o partition’a göre kaydedilsin.Ve eğer içi veri dolu bir tabloya partition yapmak istiyorsanız şu adımları izlemelisiniz.

1-Partition yapılmak istenen tabloyla eşdeğer fakat farklı isimde bir tablo yaratmak

2-Yaratılan tabloya partition yapmak

3-Verileri eski tablodan yeni yani partitionlu tabloya taşımak

4-Eski tabloyu silmek

5-Yeni tablonun adını eski tablonun adı olarak değiştirmek



Şimdi Range partitiona örnek verelim.Doğum tarihe göre partition yapacak olursak;



PARTITION BY RANGE(DOGUM_TARIHI)

(

PARTITION DOGUM_TARIHI_1990DAN_KUCUK VALUES LESS THAN(TO_DATE(’01.01.1990′,’DD.MM.YYYY’)),

PARTITION DOGUM_TARIHI_2000DEN_KUCUK VALUES LESS THAN(TO_DATE(’01.01.2000′,’DD.MM.YYYY’)),

PARTITION DOGUM_TARIHI_2010DAN_KUCUK VALUES LESS THAN(TO_DATE(’01.01.2010′,’DD.MM.YYYY’)),

PARTITION DOGUM_TARIHI_2010DAN_BUYUK VALUES LESS THAN(MAXVALUE)

);



Evet Doğum Tarihine göre tablomuzu partitionlara böldük.Burada özel bir MAXVALUE anahtarını kullandık ki bu en büyük kayıt aralığını tutuyor.Kayıt olmayan bir alana denk gelip Oracle hata vermesin diye.Diyelim ki 2010 yılından büyük kaç kayıt olduğunu öğrenmek istiyoruz.Biz biliyoruz ki Doğum Tarihi 2010 yılından büyük olan kişiler DOGUM_TARIHI_2010DAN_BUYUK partitionunda kayıtlı.



SELECT COUNT(TC_KIMLIK_NO) FROM KISILER PARTITION (DOGUM_TARIHI_2010DAN_BUYUK);



Yukarıdaki sorgu ile Tablodaki 4 partition dan sadece 1 tane si üzerinde sorgu yürütülecek ve sonuçları bize getirecektir.Eğer partition olmasaydı bütün tablo üzerinde sorgu yürütülecekti.Mesela ülkemizde Doğum Tarihi 2010′dan küçük 70 milyon ve 2010′dan büyük 2 milyon insan olsun.Böyle bir sorgu ile 72 milyon kayıt yerine 2 milyon kayıt üzerinde sorgumuz çalışacaktır ve bu bize yüksek performans ve düşük zamandan kazandıracaktır.



Bir de List partitiona örnek yazalım.Diyelim ki her kayıt için Erkek ve Kadın diye Cinsiyet tutulsun.İşte biz de bu sefer cinsiyete göre listeli partition yapacağız.



PARTITION BY LIST(CINSIYET)

(

PARTITION ERKEK_LISTESI VALUES(‘ERKEK’),

PARTITION KIZ_LISTESI VALUES(‘KADIN’)

);



Bazen partitionlarda da çok fazla veri olur.Ve çözüm olarak da subpartition gerekir :)

Örnek olması açısından yukarıdaki örnekleri birleştirerek Range-List partition yapmış oluru.Yani Range partition List Subpartition olmuş olur.



PARTITION BY RANGE(DOGUM_TARIHI)

PARTITION BY LIST(CINSIYET)

(PARTITION DOGUM_TARIHI_2010DAN_KUCUK VALUES LESS THAN(TO_DATE(’01.01.2010′,’DD.MM.YYYY’))

(

SUBPARTITION ERKEK_LISTESI VALUES(‘ERKEK’),

SUBPARTITION KIZ_LISTESI VALUES(‘KADIN’)

)

(PARTITION DOGUM_TARIHI_2010DAN_BUYUK VALUES LESS THAN((MAXVALUE)))

(

SUBPARTITION ERKEK_LISTESI VALUES(‘ERKEK’),

SUBPARTITION KIZ_LISTESI VALUES(‘KADIN’)

);



Sistemdeki tüm partitonları görmek için;



SELECT * FROM ALL_TAB_PARTITIONS;



Kullanıcıya ait partitionları görmek için;



SELECT * FROM USER_TAB_PARTITIONS;



İle partitionların hangi tablo ya ait olduğunu hangi tablespace de olduğunu ayrıntılı olarak görebilirsiniz.

Bir tabloya ait partitionları görmek için ise;



SELECT * FROM USER_TAB_PARTITIONS WHERE TABLE_NAME LIKE ‘KISILER’ ;
spacer

ORACLE CASE YAPISI

Case ifadesi if-then-else ifadesinin başka bir alternatifidir.Kullanım şekli :

CASE [ ifade]
WHEN durum1 THEN sonuc1
WHEN durum1 THEN sonuc2

WHEN drumn THEN sonucn
ELSE baskasonuc
END

Ifade ve else alanı zorunlu değildir, isteğe bağlıdır.Oracle burda 255 tane koşula kadar izin verir.Hangi WHEN….THEN koşulu geçerli ise ona göre sonuc return edilir.Hiçbir koşul gerçekleşmezse NULL döndürülür.



select table_name,
CASE owner
WHEN ‘SYS’ THEN ‘The owner is SYS’
WHEN ‘SYSTEM’ THEN ‘The owner is SYSTEM’
ELSE ‘The owner is another value’
END
from all_tables;

select table_name,
CASE
WHEN owner=’SYS’ THEN ‘The owner is SYS’
WHEN owner=’SYSTEM’ THEN ‘The owner is SYSTEM’
ELSE ‘The owner is another value’
END
from all_tables;

Aşağıdaki, yukardaki 2 örneğin if-then-else yapısıdır.

IF owner = ‘SYS’ THEN
result := ‘The owner is SYS’;

ELSIF owner = ‘SYSTEM’ THEN
result := ‘The owner is SYSTEM”;

ELSE
result := ‘The owner is another value’;

END IF;

Örnekler:

select table_name,
CASE owner
WHEN ‘SYS’ THEN ‘The owner is SYS’
WHEN ‘SYSTEM’ THEN ‘The owner is SYSTEM’
END
from all_tables;



select
CASE
WHEN a < b THEN ‘hello’
WHEN d < e THEN ‘goodbye’
END
from suppliers;

İki koşul için case kullanımı örneği:

select supplier_id,
CASE
WHEN supplier_name = ‘IBM’ and supplier_type = ‘Hardware’ THEN ‘North office’
WHEN supplier_name = ‘IBM’ and supplier_type = ‘Software’ THEN ‘South office’
END
from suppliers;
spacer

ORACLE SUBSTR FONKSIYONU

Bir string üzerinden başka bir stringi elde etmemizi sağlar.

substr( string, start_position, [ length ] )

string olan baz alınacak kaynak stringdir.start_position elde edilecek string için stringin hangi karakterinden başlanacağıdır.Eğer pozitif ise sol baştan negatif ise sağ baştan alır.length alanı ise o karakterden itibaren kaç karakter alınacağıdır.length alanı zorunlu değildir.girilmezse başlangıçtan itibaren tüm string alınır.

select substr(‘ABDULAH’,2,3) from dual;

sorgusu geriye BDU döndürür.

select substr(‘ABDULAH’,3) from dual;

sorgusu DULAH döndürür.

select substr(‘ABDULAH’,-2) from dual;

sorgusu AH döndürür.

select substr(‘ABDULAH’,4,-2) from dual;

Eğer length değeri negatif olursa geriye NULL döndürülür.
spacer

ORACLE GRANT-REVOKE

Oracle da kullanıcılara select,insert,update,delete,reference,alter ve index gibi yetkileri vermek için Grant verilen yetkileri almak için de Revoke kullanılır.

GRANT yetkiler ON nesne TO kullanıcı;

Örneğin Abdullah kullanıcısına müşteriler tablosu için select, insert, update, delete yetkisi vermek istiyorum.

GRANT select, insert, update, delete ON musteriler TO Abdullah;

Yetki alanı için Abdullah kullanıcısı için kısıt koymazsak yani bütün yetkileri vermek istersek;

GRANT all ON musteriler TO Abdullah;

Birde bir yetkiyi tüm kullanıcılara vermek istersek yani kullanıcı bazlı kısıt koymazsak;Örneğin select yetkisi:

GRANT select ON musteriler TO public;

Tablo üzerindeki yetkiyi almak istersek:

REVOKE select,delete ON musteriler FROM Abdullah;

Abdullah kullanıcısının musteriler tablosu için tüm yetkilerini almak istersek;

REVOKE all ON musteriler FROM Abdullah;

Ve son olarak musteriler tablosu için tüm kullanıcılar için tüm yetkileri almak istersek;

REVOKE all ON musteriler FROM public;

Fonksiyon ve procedure için yetki vermek yada almak istersek EXECUTE kullanırız.myfunction adında fonksiyon işlemleri için:

GRANT execute ON nesne TO kullanıcı;

GRANT execute ON myfunction TO Abdullah;

GRANT execute ON myfunction TO public;

REVOKE execute ON nesne FROM kullanıcı;

REVOKE execute ON myfunction FROM Abdullah;

REVOKE execute ON myfunction FROM public;
spacer

ORACLE SEQUENCE(OTOMATIK SAYI)

Oracle da access yada Ms sql dekine benzer otomatik arttırma diye birşey yoktur.Bunu yapmak için siz kendiniz sequences yaratmalısınız.

CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;

Örneğin:

CREATE SEQUENCE supplier_seq
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;

Burada MINVALUE en küçük MAXVALUE en büyük değer koşuludur.MAXVALUE zorunlu değildir.Atanmazsa varsayılan olarak 999999999999999999999999999 değerini alır.START WITH başlangıç değerini INCREMENT BY her seferinde ne kadarlık bir değer artışı olacağını gösterir.CACHE ise sequnece işleminin performans açısından daha hızlı olması için bellekte tutulacak değerdir.NOCACHE bellekte tutulmayacağı demektir.Sequencesin bir sonraki değerine ulaşmak için sequence_name.nextval ile erişilebilir.

INSERT INTO musteriler
(musteri_id, musteri_name)
VALUES
(supplier_seq.nextval, ‘Ali Çetinkaya’);

Normalde değerler Increment By da belirtilen kadar artar mesela diyelim ki bu değer 1 olsun ve son kullanılan değer 100 olsun. Biz bir sonraki insert işleminde 255 atamak istiyorsan Alter ifadesi ile sequence i değiştirmemiz gerekir.

alter sequence seq_name
increment by 124;

select seq_name.nextval from dual;

alter sequence seq_name
increment by 1;

Böylece bir sonraki değer 255 olacak ve sonra yine 1 artacaktır.
spacer

ORACLE INSTR FONKSIYONU

Bir string te aranan karakterin index ini döndürür.

instr( string1, string2 [, start_position [, nth_appearance ] ] )

string1 arama yapılacak string, string2 aranacak karakter,start_position kaynak stringin hangi karakterinden itibaren aramaya başlanacağı gösterir.Eğer negatif olursa tersten aramaya başlar.nth_appearance aranan o kararkterin kaçıncısının indexini döndüreceğini gösterir.start_position ve nth_appearance zorunlu değildir.Girilmezse varsayılan olarak 1 dir.Eğer aranan karakter bulunmazsa geriye sıfır döndürülür.

select instr(‘ABDULAHCETINKAYA’,'A’) sonuc from dual; sonuc:1

select instr(‘ABDULAHCETINKAYA’,'A’,2) sonuc from dual; sonuc:6

select instr(‘ABDULAHCETINKAYA’,'A’,1,3) sonuc from dual; sonuc:14

select instr(‘ABDULAHCETINKAYA’,'A’,-1) sonuc from dual; sonuc:16

select instr(‘ABDULAHCETINKAYA’,'A’,-1,2) sonuc from dual; sonuc:14

select instr(‘ABDULAHCETINKAYA’,'A’,-2,2) sonuc from dual; sonuc:6
spacer

ORACLE MINUS KULLANIMI

İki sorgu sonucu dönen değerlerin kıyaslanarak ayıklanması için kullanılır.

SELECT DIFFERENCE FROM NORTHI_TESTER.BSS_CONTROL
MINUS
SELECT DIFFERENCE FROM NORTHI_TESTER.BSS_CONTROL WHERE DIFFERENCE =77

ilk sorgu geriye 34 ve 77 döndürsün.ikinci sorgu 77 döndürdüğünden sonuç olarak elde edilen değer 34 olur.
spacer

CMD KISAYOLLARI

msconfig
regedit
ping
services.msc
slmgr.vbs -dlv
slmgr.vbs -ipk
cmd
slmgr.vbs -ato
slmgr.vbs -atp
slmgr.vbs -dti
slmgr.vbs -ilc
slmgr.vbs -cpky
slmgr.vbs -xpr
slmgr.vbs -dlv
slmgr.vbs -dli
slmgr.vbs -upk
gpedit.msc
compmgmt.msc – Bilgisyar Yöneticisi
devmgmt.msc – Aygıt Yöneticisi
diskmgmt.msc – Disk Yöneticisi
dfrg.msc – Disk birleştirme
eventvwr.msc – Olay Görüntülüyicisi
fsmgmt.msc – Paylaşılan Dosyalar
gpedit.msc – Grup Poliçeleri
lusrmgr.msc – Yerel Kullanıcılar ve Gruplar
perfmon.msc – Performans Monitörü
rsop.msc – Poliçe Sonuçarını Ortaya koymak
secpol.msc – Yerel Güvenlik Ayarları
services.msc – Çeşitli Servisler
msconfig – Sytem Bilgisi Hizmetleri
regedit – - Kayıt Defteri Editörü
msinfo32 – Sistem bilgisi
sysedit – Sistem Şekli Editörü
win.ini – Windows Yükleme Bilgisi
winver – Şu anki Wİndows Sürümünü Görüntüle
mailto: – Varsayılan E-mail alıcısı Görüntüle
cmd – Komut satırını çalıştır

Denetim Masası Öğeleri İçin Çalıştır Komutları

Program Ekle Kaldır / control appwiz.cpl
Tarih Saat özellikleri /control timedate.cpl
Ekran özellikleri / control desk.cpl
Hızlı bul / control findfast.cpl
Fontlar / control fonts
İnternet Özellikleri /control inetcpl.cpl
Klavye özellikleri /control main.cpl keyboard
Mouse Özellikleri / control main.cpl
Multimedya Özellikler /control mmsys.cpl
Ağ Özellikleri / control netcpl.cpl
Şifre özellikleri / control password.cpl
Printer /control printers
Ses Özellikleri / control mmsys.cpl sounds
Sistem Özellikleri /control sysdm.cpl


Windows XP Shortcuts

ALT+ENTER / seçili ögelerin özellikleri
ALT+ESC / en son acılan ıtem lerı gecıs saglar
ALT+F4 / aktif pencerelerı kapatır
ALT+SPACEBAR / aktif sayfanın menusu
ALT+TAB / menuler arasında geçiş
BACKSPACE / bir önceki sayfaya geçiş
CTRL+A / hepsini seç
CTRL+B / kalın yazı
CTRL+C / kopyala
CTRL+I / italik
CTRL+O / dosya açma
CTRL+U / alt cızgı
CTRL+V / yapıştır
CTRL+X / kes
CTRL+Z / geri tusu
CTRL+F4 / dökümanları kapatır
CTRL while dragging / seçili ögeleri tutar
CTRL+SHIFT while dragging / seçili ögeleri kısayol oluşturur
SHIFT+DELETE / çöp kutusuna atmadan siler
ESC / ıslemlerı durdurur
F1 / help
F2 / seçili öğenin ismini degiştirme
F3 / arama dosya ve klasörlerde
F4 / adres çubuğunu açar
F5 / yenileme
F6 / adres çubuğuna gider
F10 / active sayfalarda çubuğa gider “dosya eklemek araçlar filan”
SHIFT+F10 / sağ tıkladıgınızda açılan menu
CTRL+ESC / start menusu
SHIFT+CTRL+ESC / görev yönetıcısı
WIN / start menüsü
WIN+BREAK / sistem özellikler menüsü
WIN+D / bütün aktif sayfalari küçültme
WIN+E / bilgisayarımı açar
WIN+F / arama dosya ve klasörlerde
WIN+F+CTRL / bilgisayarımda arama
WIN+L / kullanıcı degiştirme kapatmadan
WIN+M / küçültme veya restore etme sayfaları
WIN+R / çalıştırı açar
WIN+TAB / açık olan sayfalarda geçiş

Windows Explorer Shortcuts

ALT+SPACEBAR / aktif sayfanın menüsü
CTRL+ESC / windows menusu
ALT+F4 / windows penceresini ve cerayann eden olayları kapatır
CTRL+A / bütün parçaları seçer
CTRL+X / seçili kısmı keser
CTRL+C / seçili kısmı kopyalar
CTRL+V / seçili kısmı yapıştırır
CTRL+Z / geri döner son yapılana
CTRL+(+) / sutun icindeki pencereleri otomatik olarak dogru sıralar
TAB / 7 sutun atlatma yada digger seçili ögeye geçme
SHIFT+DELETE / direk silme
BACKSPACE / bir önceki sayfaya yada slime işlemi
ALT+ENTER / seçili ögelerin özellikleri
F10 / aktif sayfanın menusu
F6 / adress bara gider /
F5 / sayfayı yenıler
F3 / arama ögesi
F2 / ismini degistirme seçili ögenin

Internet Explorer Shortcuts

CTRL+A / bütün sayfanın seçimi
CTRL+D / favorite ekler
CTRL+E / aktif sayfada arama yapar
CTRL+F / sayfada bulma
CTRL+H / geçmiş sayfasını açar
CTRL+I / favorite sayfalarının oldugu kısmı açar
CTRL+N / yeni pencere açar
CTRL+O / yenı lokasyonlar gider
CTRL+P / printer menusu
CTRL+S / degisiklikleri kaydeder
CTRL+W / aktif sayfayı kapatır
CTRL+ENTER/ basına www ve sonuna .com koymayı yapar

SHIFT+CLICK / yeni pencerede açar
BACKSPACE / bir önceki sayfaya gider
ALT+HOME / anasayfaya gider
HOME / sayfanın başına gider
TAB / Itemler arasında atlamayı sağlar
END / sayfanın sonuna gider
ESC / açılan sayfayı sonlandırır
F11 / tam ekran yapar sayfayı
F5 / sayfayı yeniler
F4 / adress barı açar
F6 / adress bara gider
ALT+RIGHT ARROW / ileri sayfaya götürür
SHIFT+CTRL+TAB / address bara gider
SHIFT+F10 / sağ tus olayı
SHIFT+TAB / geri tab olayı
CTRL+C / kopyalama
CTRL+V / yapıştırma
ENTER / aktif etmek /
F1 / internet explorer help

telefon için kodlar =

*#06# IMEI
*#0000# view Software Version
*#746025625# [*#sim0clock#]
*#92702689# [*#war0anty#] secret menu:
1. Displays Serial Number
2. Displays the Month and Year of Manufacture (0997)
3. Displays (if there) the date where the phone was purchased
4. Displays the date of last repairment – if found (0000)
5. Makes you capebel of transferring user data
6. Shows how many hours the phone has been on

*3370# Enhanced Full Rate Codec (EFR) activation
#3370# Enhanced Full Rate Codec (EFR) deactivation
*4370# Half Rate Codec activation
#4370# Half Rate Codec deactivation
xx# – xx position in Phone Book

NOKIA 9000

*#06# IMEI
*#682371158412125# soft version
*#3283# prod. date

NOKIA 7650

*#7979# phone reset
*#7470# hard reset
*#7370# master reset (like new phone



*#06# Seri No’yu Gösterir
*#0000# Versiyonu Gösterir
*#7760# Üretim Seri numarasını gösterir
*#92702689# Garanti bilgileri gösterme ve düzenleme
*#2820# Bluetooth bilgilerini gösterir
*#73# Telefondaki oyunların skorlarını ve zamanlarını sıfırlar
*#335738# Mobil operatörden alınan SMS ve MMS ve GPRS’den alınmış profilleri siler
*#7370925538# Tüm cüzdan ve cüzdan kotlarını siler
*#7780# Fabrika ayarlarına geri döner
*#7370# Soft format
[Yeşil tuş]*3 Hard format

Nokia 3310 Secret codes
Jul, 08 2003 – 06:20
contributed by: mef
*#06# To find IMEI (International Mobile Equipment Identity)

*#7780# Restores Factory Settings..(Memory, language, counters not included)

*#3110# For checking the phone’s software (SW) – called firmware revision information.

*#746025625# [*#sim0clock#] To check if the Sim-Clock can be Stopped (Sim-clock-stop is a kind of standby mode which will save battery time)

*#92702689# [*#war0anty#] Phone asks ‘warranty code:’

6232 (OK) Displays the Month and Year of Manufacture

9268 (OK) Displays Serial Number

7332 (OK) Displays the date of the last repairment – if found

7832 (OK) Displays (if found) the date where the phone was purchased

37832 (OK) Set the Purchasing Date MMYY (This date can be set only once!)

87267 (OK) Transfers ALL phone numbers, Logo’s, and ringtones from other gsm phones

Nokia 101 cell phone lockcode
Jul, 10 2000 – 02:35
Nokia 101 cell phones set up by Bell Mobility in Toronto can have their lock code circumvented by the following method:

Type: * 3001 # 12345 [STO] 00
Wait for: NOT DONE
Type: [RCL] 01
Clear old lock code (the last four digits) and enter a new lock code. Be very careful not to delete other characters.

Type: [STO] 01 [STO]
Turn power off.

Nokia 9000/9000i
Nov, 25 2000 – 22:41
To view IMEI number *#06#
To view Software Version enter *#8110# Latest Version is under Phone Info.
To view Week and Year of manufacture enter *#3283#

Samsung SGH-600 / SGH-2100
Secret Codes

*#06# -> Show IMEI
*#9999# -> Show Software Version
*#0837# -> Show Software Version (instructions)
*#0001# -> Show Serial Parameters
*#9125# -> Activates the smiley when charging.

*#9998*228# -> Battery status (capacity, voltage, temperature)
*#9998*246# -> Program status
*#9998*289# -> Change Alarm Buzzer Frequency
*#9998*324# -> Debug screens
*#9998*364# -> Watchdog
*#9998*377# -> EEPROM Error Stack – Use side keys to select values. Cancel and ok.
*#9998*427# -> Trace Watchdog
*#9998*523# -> Change LCD contrast – Only with version G60RL01W
*#9998*544# -> Jig detect
*#9998*636# -> Memory status
*#9998*746# -> SIM File Size
*#9998*778# -> SIM Service Table
*#9998*785# -> RTK (Run Time Kernel) errors – if ok then phn is reset, info is put in memory error. *#9998*786# -> Run, Last UP, Last DOWN
*#9998*837# -> Software Version
*#9998*842# -> Test Vibrator – Flash the screenligth during 10 seconds and vibration activated.
*#9998*862# -> Vocoder Reg – Normal, Earphone or carkit can be selected
*#9998*872# -> Diag
*#9998*947# -> Reset On Fatal Error
*#9998*999# -> Last/Chk

*#9998*9266# -> Yann debug screen (=Debug Screens?)
*#9998*9999# -> Software version

*0001*s*f*t# -> Changes serial parameters (s=?, f=0,1, t=0,1) (incomplete)
*0002*?# -> unknown
*0003*?# -> unknown

Nokİa Gİzlİ Kodlar

——————————————————————————–

*#0000# telefonun versiyonunu öğrenirsin

*#92702689# s60 telefonlar hariç nokia modellerinde servis menüsünü açar. üretim tarihini, kaç gün kullanıldığını, kaç kez tamir edildiğini görebilirsin.

Nokia code

These Nokia codes will work on most Nokia mobile phones, however we accept no responsibility of any kind for damage done to your phone whilst trying these Nokia secret codes.

Nokia code Code ********
*3370# This Nokia code activates Enhanced Full Rate Codec (EFR) – Your Nokia cell phone uses the best sound quality but talk time is reduced my approx. 5%
#3370# Deactivate Enhanced Full Rate Codec (EFR)
*#4720# Activate Half Rate Codec – Your phone uses a lower quality sound but you should gain approx 30% more Talk Time
*#4720# With this Nokia code you can deactivate the Half Rate Codec
*#0000# Displays your phones software version, 1st Line : Software Version, 2nd Line : Software Release Date, 3rd Line : Compression Type
*#9999# Phones software version if *#0000# does not work
*#06# For checking the International Mobile Equipment Identity (IMEI Number)
#pw+1234567890+1# Provider Lock Status. (use the “*” button to obtain the “p,w” and “+” symbols)
#pw+1234567890+2# Network Lock Status. (use the “*” button to obtain the “p,w” and “+” symbols)
#pw+1234567890+3# Country Lock Status. (use the “*” button to obtain the “p,w” and “+” symbols)
#pw+1234567890+4# SIM Card Lock Status. (use the “*” button to obtain the “p,w” and “+” symbols)
*#147# This lets you know who called you last (Only vodofone)
*#1471# Last call (Only vodofone)
*#21# This phone code allows you to check the number that “All Calls” are diverted to
*#2640# Displays phone security code in use
*#30# Lets you see the private number
*#43# Allows you to check the “Call Waiting” status of your cell phone.
*#61# Allows you to check the number that “On No Reply” calls are diverted to
*#62# Allows you to check the number that “Divert If Unreachable (no service)” calls are diverted to
*#67# Allows you to check the number that “On Busy Calls” are diverted to
*#67705646# Phone code that removes operator logo on 3310 & 3330
*#73# Reset phone timers and game scores
*#746025625# Displays the SIM Clock status, if your phone supports this power saving feature “SIM Clock Stop Allowed”, it means you will get the best standby time possible
*#7760# Manufactures code
*#7780# Restore factory settings
*#8110# Software version for the nokia 8110
*#92702689# Displays – 1.Serial Number, 2.Date Made, 3.Purchase Date, 4.Date of last repair (0000 for no repairs), 5.Transfer User Data. To exit this mode you need to switch your phone off then on again
*#94870345123456789# Deactivate the PWM-Mem
**21*number# Turn on “All Calls” diverting to the phone number entered
**61*number# Turn on “No Reply” diverting to the phone number entered
**67*number# Turn on “On Busy” diverting to the phone number entered
12345 This is the default security code
press and hold # Lets you switch between lines

*#7370825538# (*#res_wallet) ____ M-Cüzdan kodunu ve içeriğini sıfırlar
*#335738# 6230i ile ilgili birşeymiş ama ne olduğunu denemedim
*#2820# Bluetooth adresini gösterir
*35*0000# bloke__ kimse arayamaz seni
#35#0000# BLOKE iptal
*#7370# format
*#65220# ————–
*#2820# – bluetooth cihaz adresi
*21*telno# yes – tüm Yönlendir
*21*11*telno# yes – tüm Ses yönlendir
*21*25*telno# yes – tüm Data yönlendir
*21*13*telno# yes – tüm Fax yönlendir
*67*telno# yes – mesgul ise yönlendir
*61*tel*s cevap yoksa s saniye sonra yönlendir
*62*telno# yes kapsamdisi ise yönlendir
#002#tüm yönlendirme iptal
*43#aramaBekletme
#330*0000# arama engelleme iptal
#31#telno yes – numara gösterme iptali
**04*eski pin*yeni pin*yeni pin# – pin değiştirme
**042*eski pin2*yeni pin2*yeni pin2# – pin2 değiştirme
**05*puk*yeni pin*yeni pin# – pin blok kaldırma
**05*puk2*yeni pin2*yeni pin2# – pin2 blok kaldırma

NOKIA 3210 – 5110 – 6110 kodlari:

Telefonunuzun IMEI numarasini öğrenmek için * # 0 6 # tu$layiniz.

Telefonunuzun software versiyonunu görüntülemek için * # 0 0 0 0 # tu$layin.

Telefonunuzun imal tarihini, seri numarasini, varsa son tamir tarihinini, vs görmek için
* # 9 2 7 0 2 6 8 9 # tu$layin.

Arama kalitesini arttirmak (baterya ömrünü azaltir) için * 3 3 7 0 # tuşlayın. Kapatmak içinse
# 3 3 7 0 # tu$layın.

Arama kalitesini dü$ürmek (batarya ömrünü artirir) için * 4 7 2 0 # tu$layin. Kapatmak için
# 4 7 2 0 # tu$layin.

NOKIA 6150

Telefonunuzun IMEI numarasini öğrenmek için * # 0 6 # tu$layiniz.

Telefonunuzun software versiyonunu görüntülemek için * # 0 0 0 0 # tu$layin.
*#746025625# – [*#sim0clock#]
Sim Clock istendigi takdirde kapatilabilir bu da bataryadan enerji kaybini azaltir. Versiyon 4.59 da chali$mamaktadir.

*#92702689 – [*#war0anty#]
Telefonunuzun garanti kodunu ogrenebilirsiniz.. Menü ye bakabilirsiniz..

Menü:

Telefonun seri numarasini görün
Üretim tarihini görün (ör. 0997)
Son modifiye tarihini görün
Telefonunuzdaki tüm telefon muaralarini, resimlerinizi , zillerinizi ba$ka telefona transfer edebilirsiniz
*3370# Telefon kapatildiktan sonra, EFR yi aktif hale getirir, EFR seslerin daha kaliteli chikmasini saglar fakat normalden daha fazla batarya tüketimi olu$ur. 5% daha uzun konu$ma süresi werir.
#3370# Telefon kapatildiktan sonra, EFR yi kapatir.

*4720# Telefon kapatildiktan sonra, HRC yi aktif hale getirir, HRC seslerin daha kalitesiz chikmasini saglar fakat normalden daha az batarya tüketimi olu$ur.
#4720# Telefon kapatildiktan sonra, HRC yi kapatir..

ilginch Bir Kapatma Yöntemi
Bazi Telefonlar yanli$ telefon numarasi $eklinmde bir hata weriyor o zaman bu kodu kullanamazssiniz..!!

Ajanda menusune gidin (Calendar) (menu -
Make note / reminder
Kutu nun ichine birr$eyler yazin
Yazdiginiz her$ey silinene kadar silme tuuna basin. dah sonra geri tu$una basin..
0 a basin.
4 rakam girin (1234 misal)
2 kere a$agi ok tu$una basiniz
$imdi 6 basamak girin ve ye$il tu$a basin “Arama Tu$u”.
Biraz bekleyin telefon yanip yanip sönecek ve aniden kapanicak…
V5.20 20-09-99 NSM-1 versionlarda chalı$mamaktadir.

NOKIA 8810

Telefonunuzun IMEI numarasini öğrenmek için * # 0 6 # tu$layiniz.

Telefonunuzun software versiyonunu görüntülemek için * # 0 0 0 0 # tu$layin.

*#746025625# – [*#sim0clock#]
Sim Clock istendigi takdirde kapatilabilir bu da bataryadan enerji kaybini azaltir. Versiyon 4.59 da chali$mamaktadir.

*#92702689 – [*#war0anty#]
Telefonunuzun garanti kodunu ogrenebilirsiniz.. Menü ye bakabilirsiniz..

Menü:

Telefonun seri numarasini görün
Üretim tarihini görün (ör. 0997)
Son modifiye tarihini görün
Telefonunuzdaki tüm telefon muaralarini, resimlerinizi , zillerinizi ba$ka telefona transfer edebilirsiniz
*3370# Telefon kapatildiktan sonra, EFR yi aktif hale getirir, EFR seslerin daha kaliteli chikmasini saglar fakat normalden daha fazla batarya tüketimi olu$ur. 30% daha uznu konu$ma süresi werir.
#3370# Telefon kapatildiktan sonra, EFR yi kapatir.

*4720# Telefon kapatildiktan sonra, HRC yi aktif hale getirir, HRC seslerin daha kalitesiz chikmasini saglar fakat normalden daha az batarya tüketimi olu$ur.
#4720# Telefon kapatildiktan sonra, HRC yi kapatir
spacer

SEQUENCE'DE CYCLE KULLANIMI

Merhaba,

Daha önce sequence in ne olduğuna bakmıştık.Kısaca hatırlayacak olursak oracle db de tablolar için unique alan istiyorsak otomatik sayı üretimi için sequence kullanılır.Sequence başlangıç değerinden başlar ve bitiş değerine kadar gider.Her sequence çalıştırıldığı zaman son olan değer artması gereken değer kadar arttırılır.Normalde cycle kullanmadan bir sequence yaratalım ve daha sonra cycle kullanarak bir sequence yaratalım böylece sequence de cycle kullanımını daha iyi anlamış oluruz.

create sequence normal_sequence
minvalue 1
maxvalue 7
start with 1
increment by 1
cache 20;

Şimdi bu sequenci çalıştıralım.

select normal_sequence.nextval from dual;

bu sorguyu her çalıştırdığımızda sırayla 1,2,3,4,5,6,7 değerlerini alırız.Fakat 8.çalıştırdığımız zaman sequence için bir sonraki değer 8 olmuş olur ve maxvalue değeri olan 7 aşılmış olur.Bu durumda oracle “ORA-08004: sequence NORMAL_SEQUENCE.NEXTVAL exceeds MAXVALUE and cannot be instantiated” diye hata verecektir.

Aynı sequence i cycle ile yeni isimde create edelim.

create sequence cycle_sequence
minvalue 1
maxvalue 7
start with 1
increment by 1
cache 6
cycle;

Şimdi bu sequence i çalıştıralım.

select cycle_sequence.nextval from dual;

ilk 7 değer için diğer sequence ile aynı değerleri üretecektir.Yani 1,2,3,4,5,6,7 fakat 8. çalıştırığımız zaman hata vermeyecek ve yeniden sequence başa dönüp 1 değerini üretecektir.Burada dikkat edilmesi gereken bir diğer nokta cycle kullanıldığı sequence de cache değeri bir döngü değerinden küçük olmalıdır.
spacer

Oracle Pivot Fonksiyonu

Merhaba,
Bazen öyle bir durumla karşılaşırsınız ki satırlarınızın sütun olmasını istersiniz işte o zaman pivot fonksiyonu yardımınıza koşar.pivot fonksiyonu Oracle 11 g ile gelmiştir.
create table pivot_ex (
  a  varchar2(10),
  b  number,
  c  char(1)
);

pivot_ex adındabir tablo create ettik.kayıt ekleyelim.
insert into pivot_ex values ('foo',  1, 'y');
insert into pivot_ex values ('foo',  2, 'y');
insert into pivot_ex values ('foo',  3, 'y');
insert into pivot_ex values ('foo',  4, 'y');
insert into pivot_ex values ('foo', 99, 'n');
insert into pivot_ex values ('bar',  9, 'y');
insert into pivot_ex values ('bar', 11, 'y');
insert into pivot_ex values ('bar',-42, 'n');
insert into pivot_ex values ('baz', 30, 'y');
insert into pivot_ex values ('baz', 70, 'n');

şimdi eklediğimiz kayıtları görelim.

select * from pivot_ex;

 A     B    C
foo    1    y
foo    2    y
foo    3    y
foo    4    y
foo    99   n
bar    9    y
bar    11   y
bar   -42   n
baz    30   y
baz    70   n

select
 alan1, alan2, alan3
from pivot_ex
 pivot(
 sum(b) for a in ('foo' alan1,'bar' alan2,'baz' alan3)
 )
where c = 'y';

sorgusu ile satırları sütun yapmış olduk  a alanı için her bir değer için varolan değerlerin toplamını
sum fonksiyonu ile aldık ve gösterdik.
ALAN1 ALAN2 ALAN3
 10    20    30

Burda sum yerine max,min,avg gibi fonksiyonlarıda kullanabiliriz.
select
 alan1, alan2, alan3
from pivot_ex
 pivot(
 min(b) for a in ('foo' alan1,'bar' alan2,'baz' alan3)
 )
where c = 'y';
ALAN1 ALAN2 ALAN3
 1     9    30
spacer