lostyazilim
tr.link

Parameter '@p4' must be defined. hatası

4 Mesajlar 1.015 Okunma
acebozum
tr.link

ogulcanozdogan ogulcanozdogan WM Aracı Kullanıcı
  • Üyelik 06.03.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad O** E**
  • Mesajlar 14
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
Arkadaşlar merhaba,
Uzun süredir ASP.Net kodluyorum. Ancak bu şekilde bir hata ile ilk kez karşılaştım.
Parametreler ile SQL update yaptırmaya çalışıyorum. Yazıyı ve başlığı sorunsuz şekilde update ettirebiliyorum. Ancak şöyle bir sıkıntı var, resmi çekerken bir sıkıntı oluyor ve şu hatayı veriyor;



kodlarım şu şekilde (resmin ismini ve uzantısını bilerek değiştiriyorum. Yani kullanıcının upload edeceği resmin ismi ve uzantısı beer-bg2.jpg olarak değişecek.)

public partial class admin_aurunekle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string id = Request.QueryString.Get("urunNo");
SqlDataSource urun = Baglan.Sec("select * from bira where id=@p1");
urun.SelectParameters.Add("p1", id);

DataView veri = (DataView)urun.Select(DataSourceSelectArguments.Empty);
imgFoto.Src = "../images/"+veri[0].Row["resimimg"].ToString();
txtBaslik.Text = veri[0].Row["baslik"].ToString();
txtAciklama.Text = veri[0].Row["yazisi"].ToString();
lblFoto.Text = veri[0].Row["resimimg"].ToString();
lblID.Text = veri[0].Row["id"].ToString();
}
}




protected void btnVazgec_Click(object sender, EventArgs e)
{
Response.Redirect("abiralar.aspx");
}
protected void btnDuzenle_Click(object sender, EventArgs e)
{
SqlDataSource duzenle = Baglan.Duzenle("update bira set yazisi=@p1, baslik=@p2,resimimg='beer-bg2.jpg' where id=@p5");
duzenle.UpdateParameters.Add("p2", txtBaslik.Text);
duzenle.UpdateParameters.Add("p1", txtAciklama.Text);

if (fuFoto.HasFile)
{
string dosyaAdi = "beer-bg2";
string uzanti = ".jpg";
string duzgunDosya = dosyaAdi + uzanti;

//duzenle.InsertParameters.Add("p4", duzgunDosya);
fuFoto.SaveAs(Server.MapPath("../images/"));

}
else
{
duzenle.UpdateParameters.Add("p4",lblFoto.Text);
}



duzenle.UpdateParameters.Add("p5", lblID.Text);
duzenle.Update();

Response.Redirect("abiralar.aspx");
}
}


İnternette bu hatai çin connectionstring kısmına Allow User Variables=True bu kodu eklemem söyleniyor ancak bu kodu ekleyince bu sefer hata gidiyor ancak resim hiç değişmiyor. Yardımcı olabilirseniz sevinirim.
 

 

elektronikssl
webimgo

ozgunatiikk ozgunatiikk Bizi Finaller Bitirdi :) Kullanıcı
  • Üyelik 29.05.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Geliştirici
  • Konum Balıkesir
  • Ad Soyad Ö** A**
  • Mesajlar 255
  • Beğeniler 84 / 35
  • Ticaret 0, (%0)
p4 parametresini kodlarda göremedim ama ? parametre olarak değer aldırman lazım @p4e
 

 

Boyunuzdan büyük işlere kalkışın.

ogulcanozdogan ogulcanozdogan WM Aracı Kullanıcı
  • Üyelik 06.03.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad O** E**
  • Mesajlar 14
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
Sizin için koyu renkle çiziyorum.

public partial class admin_aurunekle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string id = Request.QueryString.Get("urunNo");
SqlDataSource urun = Baglan.Sec("select * from bira where id=@p1");
urun.SelectParameters.Add("p1", id);

DataView veri = (DataView)urun.Select(DataSourceSelectArguments.Empty);
imgFoto.Src = "../images/"+veri[0].Row["resimimg"].ToString();
txtBaslik.Text = veri[0].Row["baslik"].ToString();
txtAciklama.Text = veri[0].Row["yazisi"].ToString();
lblFoto.Text = veri[0].Row["resimimg"].ToString();
lblID.Text = veri[0].Row["id"].ToString();
}
}




protected void btnVazgec_Click(object sender, EventArgs e)
{
Response.Redirect("abiralar.aspx");
}
protected void btnDuzenle_Click(object sender, EventArgs e)
{
SqlDataSource duzenle = Baglan.Duzenle("update bira set yazisi=@p1, baslik=@p2,resimimg='beer-bg2.jpg' where id=@p5");
duzenle.UpdateParameters.Add("p2", txtBaslik.Text);
duzenle.UpdateParameters.Add("p1", txtAciklama.Text);

if (fuFoto.HasFile)
{
string dosyaAdi = "beer-bg2";
string uzanti = ".jpg";
string duzgunDosya = dosyaAdi + uzanti;

duzenle.InsertParameters.Add("p4", duzgunDosya);
fuFoto.SaveAs(Server.MapPath("../images/"));

}
else
{
duzenle.UpdateParameters.Add("p4",lblFoto.Text);
}



duzenle.UpdateParameters.Add("p5", lblID.Text);
duzenle.Update();

Response.Redirect("abiralar.aspx");
}
}
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Sorgunda p4 parametresi tanımlanmamış haliyle parametrelere eklediğin şeyi sorguda göremeyince nerede bu p4 parametresi, tanımlı değil diyor.

""update bira set yazisi=@p1, baslik=@p2,resimimg='beer-bg2.jpg' where id=@p5"" sorgusuna parametreni ekleyeceksin yada aşağıda parametrelere .Add dediğin p4 ile ilgili satırları kaldıracaksın.
 

 

no time for caution
wmaraci
wmaraci
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al