Ana içeriğe atla

Kayıtlar

Error 5030 - Error changing collation

The Database could not be exclusively locked to perform the operation. ALTER DATABASE failed. The default collation of database ' DatabaseName ' cannot be set to " Collation Name ". (Microsoft SQL Server, Error: 5030) Eğer veritabanınızın dil seçeneğini değiştirmeye çalışıyor fakat başaramıyorsanız ve buna benzer bir hata alıyorsanız yapmanız gereken 3 satır kodu yazıp çalıştırmak. İyi çalışmalar.. -- bu kod veritabanını "Single User" moda dönüştürür ALTER DATABASE DBADI SET SINGLE_USER WITH ROLLBACK IMMEDIATE -- bu kod ile veritabanın yeni dil ailesine dahil ederiz ALTER DATABASE DBADI COLLATE DILAILESIADI -- bu kod ile veritabanını tekrardan "Multi User" moda çeviririz ALTER DATABASE DBADI SET MULTI_USER

Transport Level Error

"A transport-level error has occurred when sending the request to the server. (provider: Named Pipes Provider, error: 0 - An unexpected network error occurred.)" Böyle bir hata alıyorsanız Management Studio SQL Server ile olan bağlantısını kaybetmiş demektir. File'dan tekrar bağlan dediğinizde sorunun çözüldüğünü göreceksiniz. İyi çalışmalar..

Datalist Kontrolü

Bir makale sitesinde yazıların başlıklarının altalta dizildiğini düşünün ve başlığa tıklandığında o yazıya gitmek istiyoruz diyelim. Bunu datalist ile yapmak istersek yazılacak kod buna cok benzerdir. Yalnızca sayfa ismi yada datasource farklılık gösterebilir. Datalist'i sayfamıza eklediğimizde "Edit Item Template" kısmında nasıl görünmesini istiyorsak o şekilde dizayn edebiliriz. Mesela ben içine bir tablo attım, tablo içine de bir adet HyperLink attım. Datasource bağlandığı anda ki bu kod tarafında da bağlanabilir, "Baslik" ve "ID" kısmımlarını Eval komutu ile çekiyor. <asp:DataList ID="DataList1" runat="server" Width="800px" DataSourceID="AccessDataSource2">      <ItemTemplate>            <table >               <tr>                  <td>                     <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"Post.aspx?ID="+ Eval(...

Error 28 - SQL Server doesn't Support Requested Protocol

Bugün sql server'a bağlanmaya çalışırken aldığım ve saatlerce nedenini bulamadığım bir hata :) Tabi ki de şu an çözümünü buldum ve paylaşmak istedim. Öncelikle "SQL Server Configuration Manager" ı çalıştırıyoruz. Protocols kısmından TCP/IP yi "enabled" yapıyoruz. Ki bu ayar ilk yüklendiğinde "disabled" olarak geliyor. (Başka bir sorun olmuştu da bugun tekrar yüklemek zorunda kaldım :) ) Ardından ayarların aktif olması için Windows servislerden SQLServer servisini yeniden başlatıyoruz. Artık sorunsuzca bağlanabilirsiniz :) İyi çalışmalar..

Tasarım Desenleri : Abstract Factory

Bu desen Factory Method desenine çok benzer. Amaç yine aynıdır. Sistemden nesnelerin oluşma işini soyutlar. Abstract Factory benzer özellikleri olan nesne fabrikalarını gruplar. İçinde birden fazla fabrika vardır. Örneğimizde birden fazla türde database'de kaydetme ve sorgulama işlemlerini gruplamak için soyut fabrikayı kullanıyoruz : Kısaca kodlarına da bakalım : Önce ürünlerimizin gerçek ve soyut sınıflarını yazıyoruz. Kaydetme.cs interface Kaydetme { void kaydet(string cumle); } SQLBaglanti.cs class SQLBaglanti:Kaydetme { public void kaydet(string cumle) { MessageBox.Show("sql'e kaydedildi"); } } AccessBaglanti.cs class AccessBaglanti:Kaydetme { public void kaydet(string cumle) { MessageBox.Show("access'e kaydedildi"); } } Komut.cs interface Komut { void sorgula(string query); } SQLSorgu.cs class SQLSorgu:Komut { public void sorgula(string query) { MessageBox.Show("sql'de sorgu oluştu"); } } AccessSorgu.cs class AccessSorgu:Komut { publ...

Tasarım Desenleri : Factory Method

Bu tasarım deseni nesne oluşturma işini sistemden ayırır ve aldığı parametreye göre nesneleri oluşturarak kullanıcıya geri döner. Bir örnek verecek olursak düşünün ki gezmeye giderken farklı yöntemleriniz olsun. Ben şimdilik iki tane kullanacağım : Araba ve Bisiklet. Bu iki sınıf "Yöntem" arayüzümüzden türemişler. Bir adet de YöntemFabrika'mız var. Yöntem.cs interface Yöntem { void Gez(); } Araba.cs class Araba : Yöntem { public void Gez() { MessageBox.Show("arabayla geziyorum"); } } Bisiklet.cs class Bisiklet : Yöntem { public void Gez() { MessageBox.Show("bisikletle geziyorum"); } } YöntemFabrikası.cs class YöntemFabrikası { public Yöntem yöntemYarat(string opt) { if (opt == "arabayla") return new Araba(); else if(opt=="bisikletle") return new Bisiklet(); return new Araba();//if'lere...

Tasarım Desenleri : Singleton

Türkçe'ye Tek Nesne olarak çevrilen bu tasarım desenindeki ana amaç bir nesnenin yalnızca bir kez oluşturulabilmesidir. Buna neden ihtiyaç duyarız sorusuna gelince mesela bir bağlantıyı dinleyen nesneniz olsun. Bunu ikince kez yaratmak kimi zaman sorunlara yol açabilir. Sonuçta bunlar sonsuz threadlerdir. Onun yerine bu nesne bir kez yaratılsın ve ihtiyaç duyulduğu zaman daha önce oluşan nesne oraya gitsin ve işlerini halletsin isteriz. Basit bir örnek verelim : class RandomSayıVerici { private RandomSayıVerici() { } private static Random r = new Random(); public static Random nesneAl() { return r; } public static int sayiVer(int min, int max) { return r.Next(min, max); } public static int sayiVer(int max) { return r.Next(max); } public static int sayiVer() { return r.Next(); } } Şimdi biz bu örnekte bir adet RandomSayiVerici ol...