Ana içeriğe atla

Basit SQL HATALARI

HATA 1 :
"error 602:could not find row in sysindexes for database ID 11,object ID 1,index ID 1 Run DBCC CHECKTABLE on sysindexes."
Bu hata Sql server 2000 veri tabanınızı alıp 2005 e iliştirdikten sonra tekrar alıp sql server 2000 veri tabanınıza geri attach etmeye çalıştığınızda karşınıza çıkabilir.
Çözüm Yoktur.Çünkü artık Sql server 2005 e attach ettiğiniz veri tabanınız 2000 formatına uygun değildir.

Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
Açıklama : Muhtemelen böyle bir hata ile karşılaştığınızda örneğin veri tabanına bir kayıt ekliyorsanız ;parametleri eksik yada yanlış vermiş olanbilirsiniz.
yani
string cmd="INSERT INTO Kitap(Adi,Yazar,Sayfa) VALUES(TextBox1,TextBox2.Text,TextBoxt3.Text)"
Bu insert into Komutunda TextBox1 ile gösterilen Alan da hata alınabilir.Çnkü .Text denmemiş.
yada
string cmd="INSERT INTO Kitap(Adi,Yazar,Sayfa) VALUES(@Adi,@Yazar,@Sayfa)"
Şeklinde bir komut da values kısmında belirtilen parametlerden bir tanesini eksik yazarsanız böyle bir hata alabilirsiniz.


HATA 2 :
A query parameter cannot be of type 'System.Object'.
Açıklama : Bu hata alındığında muhtemelen Sql de bir kayıt eklerken verdiğiniz parametrelerden bir tanesi null değer içeriyordur.
Çözüm :Null gelen değeri bulup düzeltmek yeterli olucaktır.

Bu blogdaki popüler yayınlar

SQL DATEADD() Fonksiyonu(Sql de tarihe ay,gün,yıl ekleme)

Kullanım Kalıbı : DATEADD (datepart , number , date ) . datepart ksımına month,year,day vs artırmak istediğimiz tarih birimini yazıyoruz. . number ksımına arttırmak istediğimiz miktarı yazıyoruz. . date kısmına da hangi tarih e ekleneceğini belirtiyoruz. Örnek olarak şu an ki tarihten 1 ay sonrasını görmek için : Şu anki tarih '10-1-2011' olsun(gün,ay,yıl) Sorgu : SELECT DATEADD(MONTH,+1,GETDATE()) Çıktı alacağımız tarih : '10-2-2011' şekinde olacaktır.

Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

iki ayrı veri tabanı içindeki tablolar ile işlem yapılmak istendiğinde eğer dil sorunu çıkıyor ise sorgumuzun sonuna 'COLLATE TURKISH_CI_AS' sözcüğünü ekleyerek sorunu çözebiliriz.Örnek : SELECT * FROM veritabani1.dbo.URUN u1 INNER JOIN veritabani2.dbo.URUNLER u2 ON u1.kod = u2.kod COLLATE TURKISH_CI_AS umarım faydalı olmuştur.

Logo (LOJECTS.exe ve LOBJECTS.dll) Register İşlemleri

LOBJECTS.dll register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : regsvr32 logoDosyaYolu\LOBJECTS.dll yazıyoruz ve dll imizi register ediyoruz UNREGISTER İÇİN : regsvr32 -u logoDosyaYolu\LOBJECTS.dll ile de unregister edebiliriz. LOBJECTS.exe register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : logoDosyaYolu\LOBJECTS.exe -REGSERVER yazıyoruz ve LOBJECTS.exe mizi register ediyoruz. UNREGISTER İÇİN : logoDosyaYolu\LOBJECTS.exe -UNREGSERVER yazıyoruz ve LOBJECTS.exe mizi unregister ediyoruz. Umarım yararlı olmuştur.