28 Ağustos 2010 Cumartesi

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.