sreedharmasula Ответов: 3

заявление об обновлении в asp.net


здесь значение сеанса является правильным sql таблица сопоставляется с запросом, я был написан код в загрузке страницы для выборки в текстовые поля, и я хочу обновить эти данные в updatebutton click был написан код как паровые но подробности не уточняютсяя не понимаю, в чем была проблема, помогите мне от этого.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class update : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["matrimonysite"].ConnectionString);
    protected void Page_Load(object sender, EventArgs e)
    {
       
        SqlCommand cmd = new SqlCommand("select Fullname,Surname,Religion,Caste,Email,MobileNo,Address,Maritalstatus,City,Height,Weight,Complexion,Bloodgroup,Qualification,Workingin,Salary from Registration where Username='"+Session["User1"].ToString()+"' ", con);
        SqlDataReader dr;
        con.Open();
        dr = cmd.ExecuteReader();
        dr.Read();
        txtId.Text = Session["USER1"].ToString();
        txtFullName.Text  = dr[0].ToString();
        txtSurname.Text = dr[1].ToString();
        txtReligion.Text = dr[2].ToString();
        txtGotra.Text = dr[3].ToString();
        txtEmail.Text = dr[4].ToString();
        txtAddress.Text = dr[6].ToString();
        txtMobile.Text = dr[5].ToString();
        txtMaritalstatus.Text = dr[7].ToString();
        txtCity.Text = dr[8].ToString();
        txtHeight.Text = dr[9].ToString();
        txtWeight.Text = dr[10].ToString();
        txtComplexion.Text = dr[11].ToString();
        txtBloodgroup.Text = dr[12].ToString();
        txtQualification.Text = dr[13].ToString();
        txtWorkingin.Text = dr[14].ToString();
        txtSalary.Text = dr[15].ToString();
        con.Close();
        

    }
    protected void txtId13_TextChanged(object sender, EventArgs e)
    {

    }
    
    protected void txtId_TextChanged(object sender, EventArgs e)
    {
       
    }

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        SqlCommand cmd1 = new SqlCommand("update Registration  set Fullname='"+txtFullName.Text+"',Surname='"+txtSurname.Text+"',Religion='"+txtReligion.Text+"',Caste='"+txtGotra.Text+"',Email='"+txtEmail.Text+"',MobileNo='"+txtMobile.Text+"',Address='"+txtAddress.Text+"',Maritalstatus='"+txtMaritalstatus.Text+"',City='"+txtCity.Text+"',Height='"+txtHeight.Text+"',Weight='"+txtWeight.Text+"',Complexion='"+txtComplexion.Text+"',Bloodgroup='"+txtBloodgroup.Text+"',Qualification='"+txtQualification.Text+"',Workingin='"+txtWorkingin.Text+"',Salary='"+txtSalary.Text+"' where Username='"+Session["user1"].ToString()+"'", con);
        con.Open();
        cmd1.ExecuteNonQuery();
        con.Close();
        Response.Write("<script>alert('Your Details have been updated ')</script>");

    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        Session.Abandon();
    }
}

[no name]

Форматирование фрагментов кода

[no name]

Отношение сигнал-шум INFOCOM.com
SNR infocom работает в области программного обеспечения..................
Добавить.д26 ГФ С2 Нойда до

[no name]

Не повторяйте один и тот же вопрос

3 Ответов

Рейтинг:
2

Not Active

Прежде всего, вы должны переместить код из метода PageLoad, поместить его в отдельную функцию и вызвать ее из PageLoad. Также используйте IsPostback, чтобы определить, когда следует перезапустить данные.

Во-вторых, и это самое главное, НИКОГДА использование непроверенных пользовательских входных данных и строку contantenation в виде встроенной инструкции SQL. КОГДА-ЛИБО Следует использовать хранимую процедуру или параметризованный запрос. Если вы не понимаете их, то сделайте некоторые исследования.


Рейтинг:
0

koolprasadd

Поместите if(!isPostBack) в загрузку страницы. посмотрите на следующий код.

protected void Page_Load(object sender, EventArgs e)
  {
     if(! isPostBack)
     {
       //your code goes here
     }
  }


Рейтинг:
0

That'sAragon

Я бы предложил вам несколько моментов.

1. Как было предложено koolprasad2003, пожалуйста, поместите свой код в состояние ISPOSTBACK

2. Ваш код открыт для SQL-инъекций. Поэтому попробуйте преобразовать его в параметризованные хранимые процедуры. Вы можете получить более подробную информацию по адресу здесь [^] и здесь[^]

3. Вы не закрыли считыватель данных в функции загрузки страницы. Писать доктор.Закрыть() до кон.Закрывать()