C#, Asp.Net, .Net Core
Seçilen Id'ye Göre Textboxa Veri Çekmek Ve Düzenlemek? // Asp.Net
Seçilen Id'ye Göre Textboxa Veri Çekmek Ve Düzenlemek? // Asp.Net
-
arkadaşlar databasedeki tablodaki kullanıcıları listelen bi sayfa var. herhangi bir kullanıcı için tıkladığımda başka sayfada bir düzenleme formu geliyor. ama textbox ların içinde tıkladığım kişinin verileri gelmesi gerek. bunun için,
SqlConnection baglanti = new SqlConnection("server=.;database=UyelikFormu;integrated security=true"); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var id = Convert.ToInt32(Request.QueryString["Id"]); btnDuzenle.CommandArgument = id.ToString(); baglanti.Open(); SqlCommand sorgu = new SqlCommand(); sorgu.Connection = baglanti; //sorgu.Parameters.AddWithValue("@ID", ID); sorgu.CommandText = "SELECT * FROM Kullanicilar where Id=@Id"; sorgu.Parameters.AddWithValue("@Id", sorgu); SqlDataReader data = sorgu.ExecuteReader(); while (data.Read()) { txtAd.Text = data[0].ToString(); txtSoyad.Text = data[1].ToString(); txtEmail.Text = data[2].ToString(); txtKullaniciAd .Text = data[3].ToString(); } baglanti.Close(); } }
böyle bişey kullandım ama şöyle bir hata verdi:
No mapping exists from object type System.Data.SqlClient.SqlCommand to a known managed provider native type.
ben bu textboxların içinin dolu olmasını nasıl sağlayabilirim?
ayrıca bu düzenleme sayfasında duzenle butonuna bastığımda ise duzenleme işlemini sağlaması veri tabanına kaydetmesi gerek.
bunun için de sqlCommand olarak update sorgusu kullanıcaz biliyorum ama asp.net ado.net falan yeni yeni öğrendiğim için pek
fikrim yok yardımcı olursanız sevinirim. -
sorgu.Parameters.AddWithValue("@Id", sorgu);
bu satırda sorun olmadığına emin misin?? -
sorgu.Parameters.AddWithValue("@Id", sorgu);
satırında hata var fakat, "ama textbox ların içinde tıkladığım kişinin verileri gelmesi gerek" demişsin ve bu kodları page_load event'ine yazmışsın. Burada da bir mantık hatası yok mu? -
wking bunu yazdı:
-----------------------------
sorgu.Parameters.AddWithValue("@Id", sorgu);
satırında hata var fakat, "ama textbox ların içinde tıkladığım kişinin verileri gelmesi gerek" demişsin ve bu kodları page_load event'ine yazmışsın. Burada da bir mantık hatası yok mu?
-----------------------------sanırsam A sayfasında birini seçiyo B sayfasında o kişinin bilgileri textboxlara gömülüo bunlarda B sayfasının page load ı
-
MaviGozluDev bunu yazdı:
-----------------------------
wking bunu yazdı:
-----------------------------
sorgu.Parameters.AddWithValue("@Id", sorgu);
satırında hata var fakat, "ama textbox ların içinde tıkladığım kişinin verileri gelmesi gerek" demişsin ve bu kodları page_load event'ine yazmışsın. Burada da bir mantık hatası yok mu?
-----------------------------sanırsam A sayfasında birini seçiyo B sayfasında o kişinin bilgileri textboxlara gömülüo bunlarda B sayfasının page load ı
-----------------------------evet aynen dediğin gibi.
sorgu.Parameters.AddWithValue("@Id", sorgu);
bu satırda da yanlışık olabilir dediğim gibi birçok şeyi deneyerek bulmaya çalışıyorum daha yeni öğreniyorum. ama bu satırı kaldırdığımda da daMust declare the scalar variable "@Id".
hatası veriyor...
-
sorgu.Parameters.AddWithValue("@Id", sorgu);
değil de
sorgu.Parameters.AddWithValue("@Id", id);
şeklinde yap, çalışacaktır. -
elfkrc bunu yazdı:
-----------------------------MaviGozluDev bunu yazdı:
-----------------------------
wking bunu yazdı:
-----------------------------
sorgu.Parameters.AddWithValue("@Id", sorgu);
satırında hata var fakat, "ama textbox ların içinde tıkladığım kişinin verileri gelmesi gerek" demişsin ve bu kodları page_load event'ine yazmışsın. Burada da bir mantık hatası yok mu?
-----------------------------sanırsam A sayfasında birini seçiyo B sayfasında o kişinin bilgileri textboxlara gömülüo bunlarda B sayfasının page load ı
-----------------------------evet aynen dediğin gibi.
sorgu.Parameters.AddWithValue("@Id", sorgu);
bu satırda da yanlışık olabilir dediğim gibi birçok şeyi deneyerek bulmaya çalışıyorum daha yeni öğreniyorum. ama bu satırı kaldırdığımda da daMust declare the scalar variable "@Id".
hatası veriyor...
-----------------------------
verir çünkü sql sorgusu içinde parametre var.
sorgu.Parameters.AddWithValue("@Id", sorgu);
sorgudaki karşılaştırmak istedigin id yi @id parametresinin içine atman lazım sorguyu idye değil. -
wking bunu yazdı:
-----------------------------
sorgu.Parameters.AddWithValue("@Id", sorgu);
değil de
sorgu.Parameters.AddWithValue("@Id", id);
şeklinde yap, çalışacaktır.
-----------------------------evet bu şekilde düzeldi sağol ama benzer sorun şimdi düzenle butonuna tıkaldığım zaman oluyor:
public partial class KayitDuzenle : System.Web.UI.Page { SqlConnection baglanti = new SqlConnection("server=.;database=UyelikFormu;integrated security=true"); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var id = Convert.ToInt32(Request.QueryString["Id"]); btnDuzenle.CommandArgument = id.ToString(); baglanti.Open(); SqlCommand sorgu = new SqlCommand(); sorgu.Connection = baglanti; //sorgu.Parameters.AddWithValue("@ID", ID); sorgu.CommandText = "SELECT * FROM Kullanicilar where Id=@Id"; sorgu.Parameters.AddWithValue("@Id",id); SqlDataReader data = sorgu.ExecuteReader(); while (data.Read()) { txtAd.Text = data[1].ToString(); txtSoyad.Text = data[2].ToString(); txtEmail.Text = data[3].ToString(); txtKullaniciAd.Text = data[4].ToString(); } baglanti.Close(); } } protected void Button1_Click(object sender, EventArgs e) { baglanti.Open(); SqlCommand duzenle = new SqlCommand(); duzenle.Connection = baglanti; duzenle.CommandText = "update Kullanicilar set Adi=@Adi , Soyadi=@Soyadi, Email=@Email, KullaniciAdi=@KullaniciAdi where Id=@Id"; duzenle.Parameters.Add("@Adi"); duzenle.Parameters.Add("@Soyadi"); duzenle.Parameters.Add("@Email"); duzenle.Parameters.Add("@KullaniciAdi"); duzenle.ExecuteNonQuery(); ltrSonuc.Text = "Değişiklik kaydedildi"; baglanti.Close(); } } }
bu sefer de
The SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects.
hatası veriyor...
-
bu seferde parametreler boş mantık şu bak
string ad,soyad,mail,nick;
ad="ali";
soyad="veli";
duzenle.Parameters.Add("@Adi",ad);
duzenle.Parameters.Add("@Soyadi",soyad);
ad ve soyad değişkenini @adi ve @soyadi parametrelerinin içine atıosun sorgudada o parametreleri kullanıosun
-
FCN bunu yazdı:
-----------------------------
bu seferde parametreler boş mantık şu bak
string ad,soyad,mail,nick;
ad="ali";
soyad="veli";
duzenle.Parameters.Add("@Adi",ad);
duzenle.Parameters.Add("@Soyadi",soyad);ad ve soyad değişkenini @adi ve @soyadi parametrelerinin içine atıosun sorgudada o parametreleri kullanıosun
-----------------------------tamam fatin anladım sağol, yine yapamazsam sorarım artık :)
-
sorgu.Parameters.AddWithValue("@Id",id);
ile kullandigimda sorun yasadigim ama
sorgu.Parameters.Add("Id",id);
seklinde kullanip sorunsuz devam ettigim oluyor; C#'i seviyorum ama framework farkliliklari beni delirtiyor.