CKeditor & CKfinder Kullanımı Asp.Net

10.8.2013 23:24:00 Posted by Kenan Kaya

CKeditor kullanımına kısaca değineceğim...

Web projelerinin yönetim panellerinde genellikle çok sık kullanılır.  Hazırladığım resimlerle umarım anlaşılması kolay olur.

Yazının sonunda proje dosyasını indirebilirsiniz.

Öncelikle dosyaları buradan indiriyoruz. Asp.NET versiyonunu seçmeyi unutmayın!

http://cksource.com/ckfinder/trial

http://ckeditor.com/download

 

İndirilen dosyaların içerisindeki bin klasörlerinde .dll dosyaları mevcut. Bunları projemize referans olarak ekliyoruz.

 

 

Aşağıdaki resimde CKeditor ve CKfinder dosyalarını projeme ekliyorum. Benim verdiğim indirme linkindeki(CKeditor.rar) klasördeki bu dosyaları direk projenize atarak kullanabilirsiniz.  

 

Toolbox'a CKeditor.NET.dll dosyamı ekliyorum... (General'in altına sağ klik > choose items > dll dosyamı seçim tamam diyorum) 

 

CKeditor artık toolbox'a ekli halde. Artık istediğim sayfada kullanabilirim. Normal bir button ya da label gibi kullanılabilir.

Şimdi bazı ayarlamaları yapmamız gerekli:

Projemizdeki CKFinder klasörü içerisinde config.ascx dosyamız var bu dosyamızda BaseUrl kısmı resimlerin kayıt yapılacağı yeri belirtir. Buraya siz kendi klasörünüzü tanımlayabilirsiniz. Eğer dokunmazsanız aşağıdaki şekilde varsayılan olarak belirtilen klasöre resimleriniz upload edilir.

 

 

CKeditörü hangi sayfamızda kullacaksak o safyanın kod kısmına(Page_Load) aşağıdaki kodları ekliyoruz.  

ÖNEMLİ: _FileBrowser.BasePath = "../ckfinder/" kısmı benim bir üst dizinde olduğundan başına "../" kısmı getirilmiştir. Siz buna dikkat edin. Projeyinizi sunucuya attığınızda mutlaka gerekli klasörlere yazma izni verin. Yoksa resim upload kısmı çalışmayacaktır. 

 

Buradan Kopyala yapıştır yapabilirsiniz:

CKFinder.FileBrowser _FileBrowser = new CKFinder.FileBrowser();

_FileBrowser.BasePath = "../ckfinder/";//ckfinder klasör yolu

_FileBrowser.SetupCKEditor(Editor);//Sayfadaki entegre edilicek olan ckeditor IDsi

 

Bu makalenin proje dosyasını buradan indirebilirsiniz.

İnşaallah sorunsuz çalıştırabilirsiniz. Bir sıkıntı olursa  "umarım olmaz:)" yorum kısmına yazınız...

 

Sql insert Son Eklenen ID'yi Değeri

10.2.2013 00:18:00 Posted by Kenan Kaya

Veritabanına insert işlemi esnasında bazen son eklenen bir kaydın, örneğin makalenin ya da eklenen ürünün o an ID si gerekebilir. Ben makalemi eklerken MakaleKategorileri tabloma da aynı zamanda son eklenen bu makalenin makaleID sini göndermeliyim. Bunun için @@IDENTITY fonksiyonunu kullanacağım.

Örnek Bir Sql Sorgusu:

 

insert into makaleler(baslik, yazi, eklenmetarihi,…) values(@baslik, @kisayazi, @yazi, @eklenmetarihi…) select @@IDENTITY;

 

@@IDENTITY fonksiyonu devreye girdi. Bunun geri dönüşü int tipinde bir değer olacak. Şimdide bu değeri alalım:

int newid = int.Parse(comm.ExecuteScalar().ToString());

 

Kısaca bu konuya değinmeye çalıştım. Bütün kodları yazmak yerine ihtiyacınız olan kısımları yazdım. Yalnız önemli bir noktayı hatırlatmak isterim. Bazen kayıtlar iki kere eklenebilir. Sebebine bir anlam veremeyebilirsiniz. Bende genelde bu hataya düşüyorum:

int newid = int.Parse... kısmında "comm.ExecuteScalar()" sql sorgusunun tamamını işliyor. Yani tekrardan benim gibi yanılıpta  "comm.ExecuteNonQuery" fonksiyonunu kullanmayınız :) ...

 

DataAdapter ve DataSet

27.1.2011 23:55:00 Posted by Kenan Kaya

DataAdapter tam olarak veritabanı ile uygulama arasında köprü görevindedir.

(Uygulama)-köprü-(veritabanı)

Data Adapter çevrimdışı bir bağlantı oluşturur. Yani verilerin tamamını çeker ve uygulamada tutar. Tekrar tekrar bağlantı kurmadan verileri kullanabiliriz. Şayet veritabanımızda ki veriler çok sık güncelleniyor ise çevrimdışı bağlantı kullanmamız önerilmez. Çünkü güncellenen verilerin yeni halini uygulamamızda  göremeyebiliriz.
 
Data Adapter bağlantıyı otomatik olarak açar, istenilen sorguyu veritabanına sorar, sonrada bağlantıyı geri kapatır.
 
DataSet ise uygulama tarafında DataAdapter ile gelen tabloları tutar. İçerisinde birden fazla tablo yer alabilir. Data Table ile tek tablo Data Set ile birden fazla tablo. Bir üstadım şu şekilde açıklamıştı; DataSet=Sürahi, DataTable=Bardak
 
//Veritabanı bağlantımız.
SqlConnection conn = new SqlConnection("ConnectionString yazılır");
 
//Sql Sorgumuz
SqlCommand comm = new SqlCommand("select * from TabloAdi",conn);
 
//DataSet Nesnemiz
DataSet ds = new DataSet();
 
//DataTable
DataTable dt = new DataTable();
 
//DataSet içerisine Tablo ekliyorum
ds.Tables.Add(dt);
 
//DataAdapter(bağlantımız için oluşacak köprü)
SqlDataAdapter da = new SqlDataAdapter(comm);
 
//Tablodaki verileri doldur
da.Fill(dt);
 
//GridView içerisine tablomuzu yerleştiriyoruz.
GridView1.DataSource = dt;
GridView1.DataBind();