-- Hata : C# - catch bloğunda syntax ','.
Çözüm : INSERT işlemi sırasında oluşan bir hatadır.INSERT edemiyordur.Çünkü VALUES kısmında syntax hatası vardır.İlgili yerden fazla virgülün kaldırılması gerekmektedir.
-- Hata : C# - "connectionString özelliği başlatılmamış"
Çözüm : SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = "Server=.;Database=MyDB;Integrated Security =True";
-- Soru : Tablolarda yapılan değişikliği neden kaydedemiyoruz?
Hata : MSSql - "Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created."
Çözüm : option olarak "Prevent saving changes that require the table to be re-created" özelliğinin enable yapıldığını göstermektedir.
Hata aldırmadan tabloda herhangi bir değişiklik yapabilmek için gerekli adımlar şunlardır :
1.From the 'Tools' drop-down menu, select 'Options...'
2.Expand 'Designers'
3.Select 'Table and Database Designers'
4.Uncheck 'Prevent saving changes that require table re-creation'
5.Click 'OK'
--Soru: Kayıt esnasında Insert ederken neden "Ilgili tabloya Insert işleminin OFF olduğu" ile ilgili hata alıyorum?
Hata : C# - "Cannot insert explicity value for identity column in table 'TabloAdı' when IDENTITY_INSERT is set to OFF"
Çözüm : MSSql Server'da new query kısmında "SET IDENTITY_INSERT TabloAdı ON" execute yapmak
INSERT INTO TabloAdı (No,Ad) VALUES (1,'Kalem')
SET IDENTITY_INSERT TabloAdı OFF
C# tan kayıt girişleri yapmayı sürdürebilmek için, daha sonra MSSql tarafında 'No' kolonunu silip veritabanını refresh yaptırabiliriz.Sadece 'Ad' kolonu kalacaktır.Böylece C# tarafında 'Ad' kolonuna kayıt girişi yaptırmaya devam edebiliriz.
Hata : C# - "System.NullReferenceException: Nesne başvurusu bir nesnenin örneğine ayarlanmadı"
bu hata genellikle boş gecilmiyecek bir alanı boş kaydetmeye çalıştığın zaman alınmaktadır
Çözüm:
--Hata : C# - "Unrecognized escape sequence"
Çözüm : Bu hatayı vermesinin sebebi \ karakterinin özel karakter olması. Bu yüzden normal karaker olarak kullanılmasını istiyoruz ancak \\ olarak kullanılmalıdır. Bunun sıkıntısı özellikle yol belirtirken ortaya çıkmaktadır. Yani C:\Yol değil de C:\\Yol olarak kullanılmalıdır.
--Soru : INSERT ederken hata alıyorum
Hata : MSSql - "Cannot insert the value NULL into column 'ID',table 'TurkiyeFirma.dbo.Iller';
column does not allow nulls.INSERT fails. The statement has been terminated"
Çözüm : MSSql Server'da ID kolonunun "is identity" kısmı YES olarak ayarlanmadığı için INSERT işlemi yapılamamaktadır. "is identity" kısmı YES olarak ayarlayıp tabloları refresh yaptığımızda INSERT işlemine devam edilebilir.
27 Mayıs 2012 Pazar
MS SQL' de Tablo Oluşturmak
örnek:
CREATE TABLE TabloAdı
(
KolonAdı DataType indentity primary key,
KolonAdı DataType,
KolonAdı DataType
)
CREATE TABLE TabloAdı
(
KolonAdı DataType indentity primary key,
KolonAdı DataType,
KolonAdı DataType
)
SQL TRANSACTION
İş,işlem,hareket (muhasebe) demektir.Transaction,daha küçük parçalara ayrılamayan en küçük işlem yığınına denir.
Transaction, bir veritabanında gerçekleştirilmek istenen bir dizi operasyonunu bir arada tutan yapıdır.Transaction içerisinde Rollback ve Commit bulunmaktadır.Eğer bir dizi işlemler içerisinde (select,insert,update,delete) kontroller yapılırken en az birisinin bile gerçekleşmeme durumunda,daha önceki yapılan bütün işlemleri iptal ederek Rollback ile işlemi geri alır ve kayıt işlemini gerçekleştirmez.Ancak bütün işlemler belli sıralama mantığına göre sorunsuz bir şekilde gerçekleştikten sonra Commit yapar ve en sonunda kayıt işlemi gerçekleşir.Transaction çalışma mantığı bu şekildedir.Mesela 5 tane işlem gerçekleşmesini istiyorsak 2. işlem gerçekleşmeden 3.sü gerçekleşmez.Aynı sıralamayı takip eder.
Aynı anda milyonlarca işlemin gerçekleştiği büyük projelerde Sql Transaction'ın önemi bir kat daha artar.
Transaction "Ya Hep Ya Hiç" prensibi ile çalışır.Ya bütün işlemleri gerçekleştirir ya da hiçbirini gerçekleştirmez.Veri kayıplarına karşı koruma yöntemi çalışmış olur.
"Ortak Zamanlı Erişim Sorunları" ve "Ortak Zamanlı Erişim İzolasyonyon Seviyeleri" konularına bir sonraki yazımızda değineceğiz.
Transaction, bir veritabanında gerçekleştirilmek istenen bir dizi operasyonunu bir arada tutan yapıdır.Transaction içerisinde Rollback ve Commit bulunmaktadır.Eğer bir dizi işlemler içerisinde (select,insert,update,delete) kontroller yapılırken en az birisinin bile gerçekleşmeme durumunda,daha önceki yapılan bütün işlemleri iptal ederek Rollback ile işlemi geri alır ve kayıt işlemini gerçekleştirmez.Ancak bütün işlemler belli sıralama mantığına göre sorunsuz bir şekilde gerçekleştikten sonra Commit yapar ve en sonunda kayıt işlemi gerçekleşir.Transaction çalışma mantığı bu şekildedir.Mesela 5 tane işlem gerçekleşmesini istiyorsak 2. işlem gerçekleşmeden 3.sü gerçekleşmez.Aynı sıralamayı takip eder.
Aynı anda milyonlarca işlemin gerçekleştiği büyük projelerde Sql Transaction'ın önemi bir kat daha artar.
Transaction "Ya Hep Ya Hiç" prensibi ile çalışır.Ya bütün işlemleri gerçekleştirir ya da hiçbirini gerçekleştirmez.Veri kayıplarına karşı koruma yöntemi çalışmış olur.
"Ortak Zamanlı Erişim Sorunları" ve "Ortak Zamanlı Erişim İzolasyonyon Seviyeleri" konularına bir sonraki yazımızda değineceğiz.
26 Mayıs 2012 Cumartesi
C# Line Numbers (Satır Numaraları) nı Nasıl Gösterebiliriz
Visual Studio çalışma ortamının tüm ayarları Options menüsünden yapılır. Environment ve Text Editor en sık kullanılan seçeneklerdir
Environment (Ortam): Sayfa düzeni ve görünüm ayarları, yazı tipi (font) ve renk ayarları, komutlar için kısa yol ayarları, Internet tarayıcısı ayarları, yardım ve dinamik yardım ayarları yapılır.
Text Editor (Metin Düzenleyicisi): Farklı programlama dillerine özgü yazı düzeni yapılır.
Örnek:
o Tools menüsünden Options komutunu seçin
o Sol panelde Text Editor menüsünden C# alt menüsünü seçin. Burada Visual C# diline özel metin düzenleme seçenekleri bulunur.
Sağ panelde, Display sekmesinin altında Line Numbers (Satır Numaraları) seçeneğini işaretleyin. Bu seçenek, Visual C# projelerinde çalışırken satır numaralarını gösterir.
Environment (Ortam): Sayfa düzeni ve görünüm ayarları, yazı tipi (font) ve renk ayarları, komutlar için kısa yol ayarları, Internet tarayıcısı ayarları, yardım ve dinamik yardım ayarları yapılır.
Text Editor (Metin Düzenleyicisi): Farklı programlama dillerine özgü yazı düzeni yapılır.
Örnek:
o Tools menüsünden Options komutunu seçin
o Sol panelde Text Editor menüsünden C# alt menüsünü seçin. Burada Visual C# diline özel metin düzenleme seçenekleri bulunur.
Sağ panelde, Display sekmesinin altında Line Numbers (Satır Numaraları) seçeneğini işaretleyin. Bu seçenek, Visual C# projelerinde çalışırken satır numaralarını gösterir.
MS SQL Server'da Bütün Kayıtları Silme
Bir Tablodaki Bütün Kolonlardaki Yapılmış Kayıtları Silme
TRANCATE TABLE TabloAdi
TRANCATE TABLE TabloAdi
24 Mayıs 2012 Perşembe
Veritabanındaki kayıtı istediğin sayıdan başlatma
ALTER TABLE Urunler ADD ID INT IDENTITY(10000,1) NOT NULL PRIMARY KEY
MSSql de Kolon EKLEME
ALTER TABLE TabloAdı ADD KolonAdı DataType
Örnek:
ALTER TABLE TBL_Okul ADD Sinif varchar(10)
Örnek:
ALTER TABLE TBL_Okul ADD Sinif varchar(10)
6 Mayıs 2012 Pazar
MS SQL SERVER SORGULARI
SELECT
İstediğimiz verileri getirip listelenmiş şekilde okunabilmesini sağlayan sorgu türüdür.
Syntax: SELECT KolonAdı FROM TabloAdı
Not: Dikkat edilmesi gereken konu SELECT sorgumuzdaki kolon ve tablo adlarının isimleri veri tabanındaki adlarıyla aynı olmalıdır
Örnek:
-- Personel tablosundaki tüm bilgileri getirmek için
SELECT * FROM TBL_Personel
-- Personel tablosundaki Ad ve Soyad kolonlarını getirmek için
SELECT Ad,Soyad FROM TBL_Personel
Syntax: SELECT KolonAdı FROM TabloAdı WHERE Şart
Not: MS SQL de satırlar ' tek tırnak içerinde belirtilmeli
Örnek:
-- Personel tablosundaki Muhasebe departmanında çalışanların Gorev isimli kolonlarını getirmek için
SELECT Gorev FROM TBL_Personel WHERE Departman='Muhasebe'
-- TBL_Personel tablosundaki PersonelID kolonundaki id numarası 10 olan personeli Ad ve Soyad olarak getirmek için
SELECT Ad,Soyad FROM TBL_Personel WHERE PersonelID=10
= Eşitlik SELECT * FROM TBL_Personel WHERE Yas=25
> Büyüktür SELECT * FROM TBL_Personel WHERE Yas>25
< Küçüktür SELECT * FROM TBL_Personel WHERE Yas<25
<> Eşit Değil SELECT * FROM TBL_Personel WHERE Yas<>25
<= Küçük Eşit SELECT * FROM TBL_Personel WHERE Yas<=25
>= Büyük Eşit SELECT * FROM TBL_Personel WHERE Yas>=25
AND VE WHERE Yas=25 AND WHERE Yas=27
OR VEYA WHERE Yas=25 OR WHERE Yas_27
BETWEEN ARASINDA WHERE Yas BETWEEN 25 AND 27
IN DAHİL WHERE Yas IN (25,26,27)
LIKE GİBİ WHERE Ad LIKE 'a%' (adı a ile başlayanlar)
NOT DEĞİL WHERE NOT Yas=25
Like Operatörü
--------------------------------------------------------------------------------------------------
UPDATE - SET - WHERE
Güncellemek için kullanılan sorgu türüdür.
Daha önce kaydedilmiş olan bir bilgiyi değiştirmek ve yerine yenisini yazıp güncellemek için kullanılır.
UPDATE TabloAdı SET KolonAdı = Değer WHERE KolonAdı = ' '
veya
UPDATE TabloAdı SET KolonAdı = Deger WHERE ID = IDNumarası
gibi
--------------------------------------------------------------------------------------------------
DELETE
Silme işlemleri için kullanılan sorgu türüdür.
--------------------------------------------------------------------------------------------------
İstediğimiz verileri getirip listelenmiş şekilde okunabilmesini sağlayan sorgu türüdür.
Syntax: SELECT KolonAdı FROM TabloAdı
Not: Dikkat edilmesi gereken konu SELECT sorgumuzdaki kolon ve tablo adlarının isimleri veri tabanındaki adlarıyla aynı olmalıdır
Örnek:
-- Personel tablosundaki tüm bilgileri getirmek için
SELECT * FROM TBL_Personel
-- Personel tablosundaki Ad ve Soyad kolonlarını getirmek için
SELECT Ad,Soyad FROM TBL_Personel
Şartlı Sorgulama
Syntax: SELECT KolonAdı FROM TabloAdı WHERE Şart
Not: MS SQL de satırlar ' tek tırnak içerinde belirtilmeli
Örnek:
-- Personel tablosundaki Muhasebe departmanında çalışanların Gorev isimli kolonlarını getirmek için
SELECT Gorev FROM TBL_Personel WHERE Departman='Muhasebe'
-- TBL_Personel tablosundaki PersonelID kolonundaki id numarası 10 olan personeli Ad ve Soyad olarak getirmek için
SELECT Ad,Soyad FROM TBL_Personel WHERE PersonelID=10
Karşılaştırma Operatörleri
= Eşitlik SELECT * FROM TBL_Personel WHERE Yas=25
> Büyüktür SELECT * FROM TBL_Personel WHERE Yas>25
< Küçüktür SELECT * FROM TBL_Personel WHERE Yas<25
<> Eşit Değil SELECT * FROM TBL_Personel WHERE Yas<>25
<= Küçük Eşit SELECT * FROM TBL_Personel WHERE Yas<=25
>= Büyük Eşit SELECT * FROM TBL_Personel WHERE Yas>=25
Karşılaştırma İfadeleri
AND VE WHERE Yas=25 AND WHERE Yas=27
OR VEYA WHERE Yas=25 OR WHERE Yas_27
BETWEEN ARASINDA WHERE Yas BETWEEN 25 AND 27
IN DAHİL WHERE Yas IN (25,26,27)
LIKE GİBİ WHERE Ad LIKE 'a%' (adı a ile başlayanlar)
NOT DEĞİL WHERE NOT Yas=25
Like Operatörü
--------------------------------------------------------------------------------------------------
UPDATE - SET - WHERE
Güncellemek için kullanılan sorgu türüdür.
Daha önce kaydedilmiş olan bir bilgiyi değiştirmek ve yerine yenisini yazıp güncellemek için kullanılır.
UPDATE TabloAdı SET KolonAdı = Değer WHERE KolonAdı = ' '
veya
UPDATE TabloAdı SET KolonAdı = Deger WHERE ID = IDNumarası
gibi
--------------------------------------------------------------------------------------------------
DELETE
Silme işlemleri için kullanılan sorgu türüdür.
--------------------------------------------------------------------------------------------------
Etiketler: blog, IT
delete,
karşılaştırma operatörleri,
mssql,
operatörler,
select,
sorgu,
sql server,
update,
where
Kaydol:
Yorumlar (Atom)