Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > Asp .NET

Parameter '@p4' must be defined. hatası

  #1  
Okunmamış 24 Mayıs 2018, 14:39
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 06 Mart 2017
Yaş / Cinsiyet: 18 / Erkek
Meslek: Öğrenci
Konum: İzmir
Ad, Soyad: Oğ... Er...
Mesajlar: 13
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.)

HTML Kodu:
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.
  #2  
Okunmamış 24 Mayıs 2018, 15:31
ozgünatik Adlı Üyenin Avatarı
Bizi Finaller Bitirdi :)
 
Üyelik Tarihi: 29 Mayıs 2015
Cinsiyet: Erkek
Konum: Balıkesir
Ad, Soyad: Öz... At...
Mesajlar: 226
Beğeniler: 25 / 73
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.
  #3  
Okunmamış 24 Mayıs 2018, 15:49
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 06 Mart 2017
Yaş / Cinsiyet: 18 / Erkek
Meslek: Öğrenci
Konum: İzmir
Ad, Soyad: Oğ... Er...
Mesajlar: 13
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.Em pty);
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");
}
}
  #4  
Okunmamış 24 Mayıs 2018, 22:20
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 19 Nisan 2015
Yaş / Cinsiyet: 23 / Erkek
Meslek: Coder
Ad, Soyad: Ey... Er...
Mesajlar: 662
Beğeniler: 225 / 1
Ticaret: 0, 0%
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
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > Asp .NET


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 00:07.