Genellikle fileupload nesnesi kullanılırken karşılaşılan bir sorundur. upload etmek istediğimiz dosyanın boyutu 4 mb dan büyük ise bunun la ilgili gerekli ayarlamaları web.config sayfamızdan yapmalıyız. aksi takdirde ERR_CONNECTION_RESET hatası ile karşılaşırız.
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime executionTimeout="500" maxRequestLength="5242880"/>
</system.web>
yukarıda ki yeşil renkli satırı system.web taglarımız arasına ekleyeceğiz.
timeout zamanı ve byte cinsinden maksimum dosya boyutu sınırı tanımlıyoruz.
5242880 byte = 5 Mb
iyi çalışmalar.
18 Mayıs 2015 Pazartesi
14 Mayıs 2015 Perşembe
5.5.1 authentication required hatası Gmail Mail gönderme
Mail gönderim kodunuz çalışıyordu ama artık maillerin gönderilemediğini farkettiniz. Google getirdiği yeni bir güvenlik ayarıyla gmail uygulamaları dışındaki oturumlardan mail gönderimini engelledi. Bu sorunu aşmak için Gmail hesabınıza giriş yapıp ayarlara geliniz. Hesaplar ve içe aktarma işlemi sekmesini seçiniz. Burada hesap ayarlarını değiştir kısmının yanındaki diğer google hesabı ayarları linkine basarak hesap ayarları sayfaya erişin. Hesap ayarları sayfasında oturum açma Bölümü altındaki Daha az güvenli uygulamalar için erişim ayarını aktif hale getireceğiz. böylece mail gönderme sorunumuzu aşmış olacağız. iyi çalışmalar.
12 Mayıs 2015 Salı
exclusive access could not be obtained because the database is in use
Üzerinde işlem yapmaya çalıştığınız database in aktif olarak kullanımda olduğunu belirten hatadır. Genelde databese backup yükleme ve restore işlemlerinde karşılaşılır.Bir program yada servis o database e bağlı durumdadır.bu veritabanına bağlanabilecek olası uygulamalar kapatılarak işleminizi tekrarlayın.
iyi çalışmalar...
iyi çalışmalar...
16 Nisan 2015 Perşembe
Invalid attempt to call Read when reader is closed.
Senaryomuz veritabanımızdan çektiğimiz kayıtlarla bir combobox doldurmak olsun.
Bu işlem için datareader döndüren bir methodumuz var. bu methodda sql bağlantimiz datareader geri döndürüldükten sonra kapatılması gerekmektedir. aksi takdir. bu hatayı alırız.(Invalid attempt to call Read when reader is closed.) ayrıca combobox doldurma işlemi için aşağıdaki metodlardan faydalanabilirsiniz. iyi çalışmalar.
public static SqlDataReader ReturnQueryDataReader(SqlCommand command)
{
SqlConnection Baglanti = new SqlConnection(ConnectionHelper.GetConnectionString());
if (Baglanti.State == ConnectionState.Closed)
Baglanti.Open();
command.Connection = Baglanti;
SqlDataReader dr = command.ExecuteReader();
return dr; // Bağlantı kapatılmadan önce değer döndürülmeli..
Baglanti.Close();
}
public static void FillCombobox(ComboBoxEdit ComboName,int CategoryId )
{
string Sql ="Select Distinct KOD From KODS Where CATEGORY=" + CategoryId + " ");
SqlCommand Command = new SqlCommand(Sql);
SqlDataReader Dr = DatabaseHelper.ReturnQueryDataReader(Command);
while (Dr.Read())
{
ComboName.Properties.Items.Add(Dr[0].ToString());
}
Dr.Close();
}
Bu işlem için datareader döndüren bir methodumuz var. bu methodda sql bağlantimiz datareader geri döndürüldükten sonra kapatılması gerekmektedir. aksi takdir. bu hatayı alırız.(Invalid attempt to call Read when reader is closed.) ayrıca combobox doldurma işlemi için aşağıdaki metodlardan faydalanabilirsiniz. iyi çalışmalar.
public static SqlDataReader ReturnQueryDataReader(SqlCommand command)
{
SqlConnection Baglanti = new SqlConnection(ConnectionHelper.GetConnectionString());
if (Baglanti.State == ConnectionState.Closed)
Baglanti.Open();
command.Connection = Baglanti;
SqlDataReader dr = command.ExecuteReader();
return dr; // Bağlantı kapatılmadan önce değer döndürülmeli..
Baglanti.Close();
}
public static void FillCombobox(ComboBoxEdit ComboName,int CategoryId )
{
string Sql ="Select Distinct KOD From KODS Where CATEGORY=" + CategoryId + " ");
SqlCommand Command = new SqlCommand(Sql);
SqlDataReader Dr = DatabaseHelper.ReturnQueryDataReader(Command);
while (Dr.Read())
{
ComboName.Properties.Items.Add(Dr[0].ToString());
}
Dr.Close();
}
1 Nisan 2015 Çarşamba
A page can have only one server-side Form tag.
bu sorun Sayfanızda 2 adet form tagı kullanmanızdan kaynaklanır.
en çok karşılaşılan yerlerin başında bir masterpage e bağlı alt sayfa içerisinde form tagı kullanmaktan kaynaklanır. alt sayfanızda ki <form> </form> tagını silerseniz sorununuz çözülecektir.
iyi çalışmalar.
en çok karşılaşılan yerlerin başında bir masterpage e bağlı alt sayfa içerisinde form tagı kullanmaktan kaynaklanır. alt sayfanızda ki <form> </form> tagını silerseniz sorununuz çözülecektir.
iyi çalışmalar.
30 Mart 2015 Pazartesi
Interop type cannot be embedded. Use the applicable interface instead com nesnesi hatası
Framework verisyonunuzu değiştirdiğinizde bu hata ile karşılaşabilirsiniz. (3.5 tan 4.0 a yükseltme) vb.
hata veren kodunuzu aşağıda ki şekilde düzeltip projenizi tekrar derleyin.
(class ifadesi kaldırılacak.) iyi çalışmalar
Myproject.ApplicationClass xlapp = new Myproject.ApplicationClass();
Myproject.Application xlapp = new Myproject.Application();
hata veren kodunuzu aşağıda ki şekilde düzeltip projenizi tekrar derleyin.
(class ifadesi kaldırılacak.) iyi çalışmalar
Myproject.ApplicationClass xlapp = new Myproject.ApplicationClass();
Myproject.Application xlapp = new Myproject.Application();
Compiler Error Message: CS1061 Asp.Net
Sayfanızın aşağıdaki bölümüde ki
<%@ Page Title="" Language="C#" MasterPageFile="~/template.Master" AutoEventWireup="true"
CodeBehind="tahsilat.aspx.cs" Inherits="Proje.Tahsilat.tahsilat" CodeFile="~/tahsilat.aspx.cs" %>
CodeFile="~/tahsilat.aspx.cs" kısmı sayfanızda olmayabilir. bunu ekleyerek tekrar deneyin. Bu şekilde hatayı giderdim. iyi çalışmalar
Compiler Error Message: CS1061 çözüm
<%@ Page Title="" Language="C#" MasterPageFile="~/template.Master" AutoEventWireup="true"
CodeBehind="tahsilat.aspx.cs" Inherits="Proje.Tahsilat.tahsilat" CodeFile="~/tahsilat.aspx.cs" %>
CodeFile="~/tahsilat.aspx.cs" kısmı sayfanızda olmayabilir. bunu ekleyerek tekrar deneyin. Bu şekilde hatayı giderdim. iyi çalışmalar
Compiler Error Message: CS1061 çözüm
11 Aralık 2014 Perşembe
Asp.Net Session Kullanımı Class ı session da Saklamak
Session lar Web sayfalarımız üzerinde saklamamız gereken verileri tutabileceğimiz bir yapıdır.
en basit örnekle Session[Deger]="Araba"; şeklinde bir session oluşturursak.
Başka bir kod bloğu içerisinde Textbox1.text=Session[Deger].toString(); şeklinde bu tanımladığımız sessionı kullanabiliriz.
Daha farklı olarak çeşitli verileri de yine session da saklayabiliriz.
örneğin bi web sayfamızın üyelik sistemi var ve site içerisinde login olan kullanıcıya ait bilgiler çeşitli işlemlerde kullanılıyor. şöyle düşünün kullanıcımıza ait 10 adet bilgi var bunları veritabanından çektik. ve sessionda tutucaz. aklımıza şöyle bir tanımlama gelebilir. üst tarafta kullandığımız yöntem gibi tektek 10 adet session oluşturabiliriz ama bu doğru yöntem olmaz
Session[Deger]="Ad";
Session[Deger]="soyad";
Session[Deger]="UyeNo"; Vb Gibi 10 adet tanımlama yaparsak kontrolü kaybederiz.
Bunun yerine bir clas oluşturup çektiğimiz kullanıcı bilgilerini bu class içerisine doldurup sessionda saklarsak işimiz kolaylaşacaktır. şimdi bu işlemi aşama aşama görelim.
1- classımızı oluşturalım.
public class UyeBilgiClass
{
public string Ad;
public string Soyad;
public string FirmaAdi;
public string Email;
public string Gsm;
}
2- Class içerisine bilgileri doldurup session üzerine atmak
Bu kısımda fazla ayrıntıya girmeyeceğim. çok farklı yöntemlerle yapılabilecek bir işlem. ben datatable a çektiğim veri üzerinde göstereceğim
Protected void BtnUyeGirisi_Click(object sender, EventArgs e)
{
UyeBilgiClass Uye= new UyeBilgiClass();
DataTable dt = GetUyeBilgileri(UyeId); // GetUyeBilgileri Bana üye bilgilerini
//datatable olarak döndüren bir metoddur.
Uye.Ad=dt.Rows[0]["Ad"].ToString();
Uye.Soyad=dt.Rows[0]["Soyad"].ToString();
Uye.FirmaAdi=dt.Rows[0]["FirmaAdi"].ToString();
Uye.Email=dt.Rows[0]["Email"].ToString();
Uye.Gsm=dt.Rows[0]["Gsm"].ToString();
// Datatable daki bilgileri classımızdaki alanlara atadık
HttpContext.Current.Session["UyeBilgi"] = Uye;
// classımızı sessiona atıyoruz.UyeBilgi ismin biz belirleyerek yazıyoruz. kendimiz istediğimiz bir //isim belirleyebiliriz.
}
3- Şimdide sessionda buluna üye bilgilerini nasıl okuyup kullanıcaz onu görelim
Bunun için bize üye classımızı döndüren bir metod gerekiyor
public static UyeBilgiClass GetUyeSessionClass()
{
UyeBilgiClass Uye= new UyeBilgiClass();
Uye= ( UyeBilgiClass)HttpContext.Current.Session["UyeBilgi"];
return Uye;
}
sessionlara ihtiyacımız olduğunda bu metod aracılığıyle verilerimizi alıcaz.
ama henüz işimiz bitmedi.çektiğimiz bilgileri textboxlara yazdırarak işlemi tamamlayalım
öncelikle classımızın tanımlamasını yapalım. değişken tanımlaması yapar gibi diyebilirim.
private UyeBilgiClass Uye;
Protected void BtnBilgileriYaz_Click(object sender, EventArgs e)
{
Uye= new UyeBilgiClass ();
Uye= GetUyeSessionClass();
// Artık uye classımız içerisinde bilgilerimiz mevcut
Textbox1.text=Uye.Ad;
textbox2.Text=Uye.Soyad; //Vb. Şekilde erişim sağlayabilriz.
}
bu şekilde işlemimizi tamamladık. Faydalı olması dileğiyle..
------------------------------------------------------------------------------
en basit örnekle Session[Deger]="Araba"; şeklinde bir session oluşturursak.
Başka bir kod bloğu içerisinde Textbox1.text=Session[Deger].toString(); şeklinde bu tanımladığımız sessionı kullanabiliriz.
Daha farklı olarak çeşitli verileri de yine session da saklayabiliriz.
örneğin bi web sayfamızın üyelik sistemi var ve site içerisinde login olan kullanıcıya ait bilgiler çeşitli işlemlerde kullanılıyor. şöyle düşünün kullanıcımıza ait 10 adet bilgi var bunları veritabanından çektik. ve sessionda tutucaz. aklımıza şöyle bir tanımlama gelebilir. üst tarafta kullandığımız yöntem gibi tektek 10 adet session oluşturabiliriz ama bu doğru yöntem olmaz
Session[Deger]="Ad";
Session[Deger]="soyad";
Session[Deger]="UyeNo"; Vb Gibi 10 adet tanımlama yaparsak kontrolü kaybederiz.
Bunun yerine bir clas oluşturup çektiğimiz kullanıcı bilgilerini bu class içerisine doldurup sessionda saklarsak işimiz kolaylaşacaktır. şimdi bu işlemi aşama aşama görelim.
1- classımızı oluşturalım.
public class UyeBilgiClass
{
public string Ad;
public string Soyad;
public string FirmaAdi;
public string Email;
public string Gsm;
}
2- Class içerisine bilgileri doldurup session üzerine atmak
Bu kısımda fazla ayrıntıya girmeyeceğim. çok farklı yöntemlerle yapılabilecek bir işlem. ben datatable a çektiğim veri üzerinde göstereceğim
Protected void BtnUyeGirisi_Click(object sender, EventArgs e)
{
UyeBilgiClass Uye= new UyeBilgiClass();
DataTable dt = GetUyeBilgileri(UyeId); // GetUyeBilgileri Bana üye bilgilerini
//datatable olarak döndüren bir metoddur.
Uye.Ad=dt.Rows[0]["Ad"].ToString();
Uye.Soyad=dt.Rows[0]["Soyad"].ToString();
Uye.FirmaAdi=dt.Rows[0]["FirmaAdi"].ToString();
Uye.Email=dt.Rows[0]["Email"].ToString();
Uye.Gsm=dt.Rows[0]["Gsm"].ToString();
// Datatable daki bilgileri classımızdaki alanlara atadık
HttpContext.Current.Session["UyeBilgi"] = Uye;
// classımızı sessiona atıyoruz.UyeBilgi ismin biz belirleyerek yazıyoruz. kendimiz istediğimiz bir //isim belirleyebiliriz.
}
3- Şimdide sessionda buluna üye bilgilerini nasıl okuyup kullanıcaz onu görelim
Bunun için bize üye classımızı döndüren bir metod gerekiyor
public static UyeBilgiClass GetUyeSessionClass()
{
UyeBilgiClass Uye= new UyeBilgiClass();
Uye= ( UyeBilgiClass)HttpContext.Current.Session["UyeBilgi"];
return Uye;
}
sessionlara ihtiyacımız olduğunda bu metod aracılığıyle verilerimizi alıcaz.
ama henüz işimiz bitmedi.çektiğimiz bilgileri textboxlara yazdırarak işlemi tamamlayalım
öncelikle classımızın tanımlamasını yapalım. değişken tanımlaması yapar gibi diyebilirim.
private UyeBilgiClass Uye;
Protected void BtnBilgileriYaz_Click(object sender, EventArgs e)
{
Uye= new UyeBilgiClass ();
Uye= GetUyeSessionClass();
// Artık uye classımız içerisinde bilgilerimiz mevcut
Textbox1.text=Uye.Ad;
textbox2.Text=Uye.Soyad; //Vb. Şekilde erişim sağlayabilriz.
}
bu şekilde işlemimizi tamamladık. Faydalı olması dileğiyle..
------------------------------------------------------------------------------
11 Ekim 2012 Perşembe
C# Asp.Net Dropdownlist Veri Tabanından Doldurmak
Asp.net te açılır kutumuzu veri tabanından çekeceğimiz bilgiler ile aşağıda yazacağım metodları kullanarak doldurabiliriz. Örnek olarak ürünlerimizi barındıran bir web sitemiz olduğunu ve bu ürünleri sitemize ekler iken kategorisini seçtiğimiz dropdownlist i düşünelim.şimdi bu dropdownliste kategorileri nasıl doldurduğumuzu görelim.
öncelikle veri tabanından çektiğimiz kategorileri tutacak bir dataset oluşturur ve verileri buna doldururuz.
bize sonuç olarak dataset döndüren DatasetDoldur isminde bir fonksiyonumuz var ve bu fonksiyon parametre olarak sql cümlesi alıyor.daha sonra bu cümle çalışıyor ve kategorilerimizi bize dataset olarak döndürüyor.
public DataSet DatasetDoldur(string sql)
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, Helper.BaglantiGetir());
da.Fill(ds);
return ds;
}
ikinci olarakta DropdownDoldur isminde bir metodumuz var.Bu metod içerisinde sql cümlemizi tanımlayabiliriz. burada bilmemiz gerekenler DataTextField ve DataValueField ifadelerinin ne anlama geldiğidir.datatextfield bizim dropdownlist imizin görünen kısmını ifade eder. örneğin kategoriler düşünürsek gıda ,tekstil vs. dropdownlist açtığımızda bunlar görünür. ama genelde işlemler kategorilerin adı üzerinden değil benzersiz olan genelde ID dediğimiz anahtarlar üzerinden yapıldığından dolayı örneğin ben gıda kategorisini seçtiğimde bunun id si 7 olsun. Bu 7 değerinide datavaluefield kısmında saklanır.
datasource kısmı ise veri kaynağımızı gösterdiğimiz yerdir buradada datasetdoldur fonksiyonumuzu çağırarak dönecek datatable ı veri kaynağımız olarak gösteririz.
public void DropdownDoldur()
{
string Sorgu = "Select KategoriId,KategoriAdi From TblKategoriler";
DropdownKategori.DataTextField = "KategoriAdi";
DropdownKategori.DataValueField = "KategoriId";
DropdownKategori.DataSource = DatasetDoldur(Sorgu);
DropdownKategori.DataBind();
}
iyi çalışmalar.
öncelikle veri tabanından çektiğimiz kategorileri tutacak bir dataset oluşturur ve verileri buna doldururuz.
bize sonuç olarak dataset döndüren DatasetDoldur isminde bir fonksiyonumuz var ve bu fonksiyon parametre olarak sql cümlesi alıyor.daha sonra bu cümle çalışıyor ve kategorilerimizi bize dataset olarak döndürüyor.
public DataSet DatasetDoldur(string sql)
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, Helper.BaglantiGetir());
da.Fill(ds);
return ds;
}
ikinci olarakta DropdownDoldur isminde bir metodumuz var.Bu metod içerisinde sql cümlemizi tanımlayabiliriz. burada bilmemiz gerekenler DataTextField ve DataValueField ifadelerinin ne anlama geldiğidir.datatextfield bizim dropdownlist imizin görünen kısmını ifade eder. örneğin kategoriler düşünürsek gıda ,tekstil vs. dropdownlist açtığımızda bunlar görünür. ama genelde işlemler kategorilerin adı üzerinden değil benzersiz olan genelde ID dediğimiz anahtarlar üzerinden yapıldığından dolayı örneğin ben gıda kategorisini seçtiğimde bunun id si 7 olsun. Bu 7 değerinide datavaluefield kısmında saklanır.
datasource kısmı ise veri kaynağımızı gösterdiğimiz yerdir buradada datasetdoldur fonksiyonumuzu çağırarak dönecek datatable ı veri kaynağımız olarak gösteririz.
public void DropdownDoldur()
{
string Sorgu = "Select KategoriId,KategoriAdi From TblKategoriler";
DropdownKategori.DataTextField = "KategoriAdi";
DropdownKategori.DataValueField = "KategoriId";
DropdownKategori.DataSource = DatasetDoldur(Sorgu);
DropdownKategori.DataBind();
}
iyi çalışmalar.
25 Haziran 2012 Pazartesi
C# Devexpress Gridview üzerinden kayıt okumak
C# Devexpress Gidview üzerinden satır ve kolon bazında okuma yapmak istiyorsak aşğıdaki yapıyı kullanabiliriz.
kodumuzun çalışma mantığını açıklarsak şu şekildedir.
1. döngümüz gridimiz üzerindeki satır sayısını alarak, işlemimizin satır sayımız kadar tekrarlanmasını sağlar. rowhandle ise bizim satır numaramız olur.
2. döngüde ise satırımızdaki kolon sayısı kadar döncek bir döngü kurulmuştur.
ikinci döngü her arttığında object tipte tanımlanmış v değişkenine kolondan okunan değer GetRowCellValue metoduyla alınır.bu metod parametre olarak satır numarasını ve konumlanılan kolonun adresini alır.
for (int i = 0; i < GridView.RowCount; i++) // 1. döngü
{
int rowHandle = GridView.GetVisibleRowHandle(i);
if ( GridView.IsDataRow(rowHandle))
{
for (int c = 0; c < GridView.VisibleColumns.Count; c++) // 2. döngü
{
object v= GridView.GetRowCellValue(rowHandle, GridView.VisibleColumns[c]);
if (c == 0)
ad= v.ToString();
if (c == 1)
soyad= v.ToString();
if (c == 2)
telefon= v.ToString();
}
}
// bu kısımda bilgiler kullanılarak işlem yapılabilir. örneğin okunan bilgileri veritabanına kaydetme.
}
yukarıdaki kodu incelediğimizde grid üzerinde değer okuyacağımız 3 adet kolon olduğu varsayılmıştır. Kolon numaralarımız sıfır(0) dan başladığı için daha önce tanımlayacağımız ad değişkenine ad kolonundaki değer alınır yine aynı şekilde soyad değişkeninede 1 kolondaki soyad bilgisi ve telefonda 2 kolondan alınır. Bu aşamada grid üzerinde bulunan satılarımızdan birindeki bilgileri elde etmiş oluruz. 2. döngüden çıkıldıktan sonra elde ettiğimiz bilgiler ile ilgi bir işlem yukarıda yazdığım alanda yapabilir. Çünki programımızın 1. döngüye tekrar dönmemesi gerekir. aksi takdirde program bir sonraki satırı okumaya geçer ve elde ettiğimiz diğer bilgiler kaybolur.kodu geliştirmek sizin elinizde farklı şekillerde de kullanabilirsiniz.
İyi Çalışmalar..
kodumuzun çalışma mantığını açıklarsak şu şekildedir.
1. döngümüz gridimiz üzerindeki satır sayısını alarak, işlemimizin satır sayımız kadar tekrarlanmasını sağlar. rowhandle ise bizim satır numaramız olur.
2. döngüde ise satırımızdaki kolon sayısı kadar döncek bir döngü kurulmuştur.
ikinci döngü her arttığında object tipte tanımlanmış v değişkenine kolondan okunan değer GetRowCellValue metoduyla alınır.bu metod parametre olarak satır numarasını ve konumlanılan kolonun adresini alır.
for (int i = 0; i < GridView.RowCount; i++) // 1. döngü
{
int rowHandle = GridView.GetVisibleRowHandle(i);
if ( GridView.IsDataRow(rowHandle))
{
for (int c = 0; c < GridView.VisibleColumns.Count; c++) // 2. döngü
{
object v= GridView.GetRowCellValue(rowHandle, GridView.VisibleColumns[c]);
if (c == 0)
ad= v.ToString();
if (c == 1)
soyad= v.ToString();
if (c == 2)
telefon= v.ToString();
}
}
// bu kısımda bilgiler kullanılarak işlem yapılabilir. örneğin okunan bilgileri veritabanına kaydetme.
}
yukarıdaki kodu incelediğimizde grid üzerinde değer okuyacağımız 3 adet kolon olduğu varsayılmıştır. Kolon numaralarımız sıfır(0) dan başladığı için daha önce tanımlayacağımız ad değişkenine ad kolonundaki değer alınır yine aynı şekilde soyad değişkeninede 1 kolondaki soyad bilgisi ve telefonda 2 kolondan alınır. Bu aşamada grid üzerinde bulunan satılarımızdan birindeki bilgileri elde etmiş oluruz. 2. döngüden çıkıldıktan sonra elde ettiğimiz bilgiler ile ilgi bir işlem yukarıda yazdığım alanda yapabilir. Çünki programımızın 1. döngüye tekrar dönmemesi gerekir. aksi takdirde program bir sonraki satırı okumaya geçer ve elde ettiğimiz diğer bilgiler kaybolur.kodu geliştirmek sizin elinizde farklı şekillerde de kullanabilirsiniz.
İyi Çalışmalar..
12 Haziran 2012 Salı
C# ta Butona Kısayol Tuşu Atamak(Keydown event)
C# ta Butonlarımıza klavye kısayolları ekleyebiliriz. Örneğin form üzerinde kaydetme işlemimizi gerçekleştiren BtnKaydet isimli bir butonumuz olsun ve bu butonun kısayoluda F5 tuşu olsun.
ilk olarak işe formumuzun basılan tuşları yakalayabilmesi için Properties kısmından Keypreview özelliğini true yapalım. daha sonra formumuzun keydown olayında aşağıdaki kodu yazalım.
if(e.KeyCode==Keys.F5)
{
BtnKaydet.PerformClick();
}
bu kod çalıştırıldığında ve F5 tuşuna basıldığın da BtnKaydet Butonumuz için yazdığımız kod çalşıtırılacaktır.
iyi çalışmalar.
ilk olarak işe formumuzun basılan tuşları yakalayabilmesi için Properties kısmından Keypreview özelliğini true yapalım. daha sonra formumuzun keydown olayında aşağıdaki kodu yazalım.
if(e.KeyCode==Keys.F5)
{
BtnKaydet.PerformClick();
}
bu kod çalıştırıldığında ve F5 tuşuna basıldığın da BtnKaydet Butonumuz için yazdığımız kod çalşıtırılacaktır.
iyi çalışmalar.
C# Devexpress GridView Kayıt Sayısını Almak
Devexpress gridimizdeki kayıt sayısını bulmak için aşağıdaki kodu kullanabiliriz.
GridView ımızın ismi MusterilerView olsun
int kayitsayisi; // kayıt sayısını tutacak değişkenimiz
kayitsayisi=convert.ToInt32(MusterilerView.RowCount);
İyi çalışmlar.
GridView ımızın ismi MusterilerView olsun
int kayitsayisi; // kayıt sayısını tutacak değişkenimiz
kayitsayisi=convert.ToInt32(MusterilerView.RowCount);
İyi çalışmlar.
28 Ocak 2012 Cumartesi
C# ile Sql Script Çalıştırmak
Bazen programlarımızda sql scriptleri program üzerinden çalıştırmaya ihtiyac duyabiliriz. Bu durumda fiziksel bir yol üzerinde bulunan sql scriptimizi program içerisinden okuyarak ve metodumuz ile çalıştırarak işlemi gerçekleştirebiliriz.
okuma işlemimizi fileinfo sınıfını kullanarak aşağıdaki şekilde scripti string bir değişken içerisine aktararak gerçekleştiriyoruz. burada scriptimizin bulunduğu yolu veriyoruz ve ReadToEnd ile okunmasını sağlıyoruz.
FileInfo file = new FileInfo("C:\\Script.sql");
string scripttext = file.OpenText().ReadToEnd();
Metodumuz
protected virtual void ExecuteScript(SqlConnection connection, string script)
{
string[] commandTextArray = script.Split(new string[] { "GO" }, StringSplitOptions.RemoveEmptyEntries);
connection.Open();
foreach (string commandText in commandTextArray)
{
if (commandText.Trim() == string.Empty) continue;
SqlCommand command = new SqlCommand(commandText, connection);
command.ExecuteNonQuery();
}
connection.Close();
}
Okuma işlemi gerçekleştirildikten sonra metodumuzu kullanabiliriz.
ExecuteScript(baglanti, scripttext);
Not: bağlantımız örnek olarak sqlconnection baglanti=new sqlconnection(); şeklinde tanımlanmış bir bağlantı olabilir. Kolay gelsin...
okuma işlemimizi fileinfo sınıfını kullanarak aşağıdaki şekilde scripti string bir değişken içerisine aktararak gerçekleştiriyoruz. burada scriptimizin bulunduğu yolu veriyoruz ve ReadToEnd ile okunmasını sağlıyoruz.
FileInfo file = new FileInfo("C:\\Script.sql");
string scripttext = file.OpenText().ReadToEnd();
Metodumuz
protected virtual void ExecuteScript(SqlConnection connection, string script)
{
string[] commandTextArray = script.Split(new string[] { "GO" }, StringSplitOptions.RemoveEmptyEntries);
connection.Open();
foreach (string commandText in commandTextArray)
{
if (commandText.Trim() == string.Empty) continue;
SqlCommand command = new SqlCommand(commandText, connection);
command.ExecuteNonQuery();
}
connection.Close();
}
Okuma işlemi gerçekleştirildikten sonra metodumuzu kullanabiliriz.
ExecuteScript(baglanti, scripttext);
Not: bağlantımız örnek olarak sqlconnection baglanti=new sqlconnection(); şeklinde tanımlanmış bir bağlantı olabilir. Kolay gelsin...
Kaydol:
Kayıtlar (Atom)