C#, Asp.Net, .Net Core
Asp.Net Fonksiyonlarda .Parameter.Addwithvalue Nasıl Kullanabilirim
Asp.Net Fonksiyonlarda .Parameter.Addwithvalue Nasıl Kullanabilirim
-
fonksiyon
public int cmd(string sqlcumle) { SqlConnection baglan = this.baglan(); SqlCommand sorgu = new SqlCommand(sqlcumle, baglan); int sonuc = 0; try { sonuc = sorgu.ExecuteNonQuery(); } catch (SqlException ex) { throw new Exception(ex.Message); } sorgu.Dispose(); baglan.Close(); baglan.Dispose(); return (sonuc); }
üye kayıt
protected void Button1_Click(object sender, EventArgs e) { vt.cmd("Insert Into uyeler(username, pass, mail, koruma, yetki) values ('"+username.Text+"', '"+pass.Text+"', '"+mail.Text+"', '"+koruma+"', '1')"); KayitDurum.Text = "Üye Kaydi Başarılı"; }
yapmak istediğim
protected void Button1_Click(object sender, EventArgs e) { vt.cmd("Insert Into uyeler(username, pass, mail, koruma, yetki) values (@username, @pass, @mail, @koruma, '1')"); vt.cmd.Parameters.AddWithValue("username", username.Text); KayitDurum.Text = "Üye Kaydi Başarılı"; }
yani fonksiyonu çağırıp içinde .Parameter.AddWithValue kullanmak istiyorum ama yemiyor, nasıl kullanabilirim ?
-
edit : açıklamalı gelmiş
MaviGozluDev tarafından 03/Ağu/13 22:32 tarihinde düzenlenmiştir -
sql de değişkenleri tanımlamak için başına @ işareti koyman gerekiyor
Örnek olarak;
SqlConnection con = new SqlConnection("sql connection stringinin");
con.Open();
SqlCommand cmd = new SqlCommand("",con);
cmd.CommandText = "Insert Into Tablo1(UyeIsmı,UyeYasi) Values(@UyeIsmı,@UyeYasi)";
cmd.Parameters.AddWithValue("@UyeIsmi","Ercan");
cmd.Parameters.AddWithValue("@UyeYasi",22);
cmd.ExecuteNonQuery();
con.Close();
-
Ercan bunu yazdı
sql de değişkenleri tanımlamak için başına @ işareti koyman gerekiyor
Örnek olarak;
SqlConnection con = new SqlConnection("sql connection stringinin");
con.Open();
SqlCommand cmd = new SqlCommand("",con);
cmd.CommandText = "Insert Into Tablo1(UyeIsmı,UyeYasi) Values(@UyeIsmı,@UyeYasi)";
cmd.Parameters.AddWithValue("@UyeIsmi","Ercan");
cmd.Parameters.AddWithValue("@UyeYasi",22);
cmd.ExecuteNonQuery();
con.Close();
@ işareti koymam gerektiğini biliyorum yapmak istediğim kısmında bunu belirttim, şöyle anlatayım, fonksiyonu yukarıda belirttiğim gibi tanımladım. sonra sayfada
fonksiyonlar vt = new fonksiyonlar();
şeklinde çağırdıktan sonra Parameters.AddWithValue nasıl tanımlaycağım onu bulamadımç
-
eğer bi fonksiyonda kullanmak istiyorsan yani bi data layer katmanı yazmak istiyorsan bu şekidle yapma
ilgili öğenin class'ını oluştur methoda onu gönder, ilgili işlemleri direk onun içinde yap
öğrenğin Uye diye bi class'ın olsun UyeEkle adında parametre olarak da Uye classını alan bir method yapıp
o methodun içinde işemlerini gör
public void UyeEkle(Uye uye)
{
...
cmd.Parameters.AddWidhValue("@UyeAdi",uye.UyeAdi); //şeklinde kullanabilirsin, ki bu şekilde yapmanı tavsiye ederim.
...
}
veritabanı ile ilgili işlemlerini ayrı bi katmanda yaparsan, hem düzenli hem de hızlı yazmış olursun.
-
ado.net kullanmak yerine entity framework a geçmelisin. bir çok açıdan sana avantaj sağlayacaktır. linq ve/veya lamda expression da yazarsın
sorgularını sql kodu yazmayla uğraşmazsın istediğin sorguyu bir string fonksiyon kullanıyormuşcasına kullanabilirsin..
ercan'ın dediği gibi projeni çoklu katmanlarda yazabilirsin (n-tier) bu da sana bi çok avantaj getirecektir. Ya da repository gibi bir tasarım deseni
kullanabilirsin. Kendi çıtanı bu söylediklerimle 10 kat arttırmış olacaksın. Yazılım diyince artık yeni teknolojilere adapte olmak gerek olduğunu
düşünüyorum tabi daha bir sürü ıvır zıvır var ama ado.net framework 1.0 dan gelen bir şey..
+ nesneye yönelimli programlamayı iyice öğren. Benim de hala teorik bilgimde çok eksik var bu konuda o yüzden bazen pratiğe dökmekte
zorlanıyorum..
kolay gelsin
-
asp.net ile ilgili takıldığınız yerlerde bu videolardan istifade edebilirsiniz.
-
cevaplar için teşekkürler linq daha sonra bakmayı düşünüyordum ama sanırım zamanı gelmiş