İyi günler, aşağıdaki kodlar ile bazı kayıtları güncellemek istiyorum, güncellemek istediğim değeri direkt belirlediğimde çalışıyor, ancak textbox'tan aldırdığımda veri güncellenmiyor. Defalarca kontrol ettim ancak sorun göremedim, bir tahmininiz varmı?
[CODE lang="aspnet" title="ASP.net Code-Behind"]protected void SerModKaydet_ServerClick(object sender, EventArgs e)
{
if (Page.IsValid)
{
string veritabani = ConfigurationManager.ConnectionStrings["teknikservisDB"].ConnectionString;
SqlConnection baglan = new SqlConnection(veritabani);
SqlCommand updatecom = new SqlCommand("UPDATE kayitlar SET baslik=@baslik, aciklama=@aciklama, firma=@firma WHERE id='" + Request.QueryString["id"] + "'", baglan);
updatecom.Parameters.Add("@baslik", System.Data.SqlDbType.NVarChar, 64);
updatecom.Parameters["@baslik"].Value = TxtBaslik.Text;
updatecom.Parameters.Add("@aciklama", System.Data.SqlDbType.NVarChar, 256);
updatecom.Parameters["@aciklama"].Value = TxtAciklama.Text.ToString();
updatecom.Parameters.Add("@firma", System.Data.SqlDbType.NVarChar, 64);
updatecom.Parameters["@firma"].Value = TxtFirma.Text.ToString().Trim();
try
{
baglan.Open();
updatecom.ExecuteNonQuery();
}
catch
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Hata!", "<script>alert('Sunucuyla bağlantı hatası oluştu, Lütfen tekrar deneyin. Sorun devam ederse yönetici ile iletişime geçiniz.');</script>");
}
finally
{
baglan.Close();
Response.Redirect("/Servis/Kayitlar");
}
}
}[/CODE]
Eğer parametreyi aşağıdaki gibi yaparsam kaydediyor;
İyi günler, aşağıdaki kodlar ile bazı kayıtları güncellemek istiyorum, güncellemek istediğim değeri direkt belirlediğimde çalışıyor, ancak Textbox'tan aldırdığımda veri güncellenmiyor. Defalarca kontrol ettim ancak sorun göremedim, bir tahmininiz var mı?
[CODE lang="aspnet" title="ASP.net Code-Behind"]protected void SerModKaydet_ServerClick(object sender, EventArgs e)
{
if (Page.IsValid)
{
string veritabani = ConfigurationManager.ConnectionStrings["teknikservisDB"].ConnectionString;
SqlConnection baglan = new SqlConnection(veritabani);
SqlCommand updatecom = new SqlCommand("UPDATE kayitlar SET baslik=@baslik, aciklama=@aciklama, firma=@firma WHERE id='" + Request.QueryString["id"] + "'", baglan);
updatecom.Parameters.Add("@baslik", System.Data.SqlDbType.NVarChar, 64);
updatecom.Parameters["@baslik"].Value = TxtBaslik.Text;
updatecom.Parameters.Add("@aciklama", System.Data.SqlDbType.NVarChar, 256);
updatecom.Parameters["@aciklama"].Value = TxtAciklama.Text.ToString();
updatecom.Parameters.Add("@firma", System.Data.SqlDbType.NVarChar, 64);
updatecom.Parameters["@firma"].Value = TxtFirma.Text.ToString().Trim();
try.
{
baglan.Open();
updatecom.ExecuteNonQuery();
}
catch.
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Hata!", "<script>alert('Sunucuyla bağlantı hatası oluştu, Lütfen tekrar deneyin. Sorun devam ederse yönetici ile iletişime geçiniz.');</script>");
}
finally.
{
baglan.Close();
Response.Redirect("/Servis/Kayitlar");
}
}
}[/CODE]
Eğer parametreyi aşağıdaki gibi yaparsam kaydediyor;
Updatecom. Parameters["@firma"].Value = TxtFirma.Text.ToString().Trim();
Buradaki. Value kısmını kaldırıp deneyin. Şu şekilde:
Updatecom. Parameters["@firma"] = TxtFirma.Text.ToString().Trim();
Yanlış hatırlamıyorsam buton'a tıkladığımda sayfa postback oluyordu ve mevcut değerleri kaydediyordu. Bu yüzden buton'a type="button" özelliği ekledim ve kodu if (isPostback) olarak çalıştırdım. Sorunumun bu şekilde çalıştığını hatırlıyorum.