c#
  • asp.net
  • sql-server
  • 2017-05-10 6 views -2 likes 
    -2

    --code behind--Was kann ich tun, um diesen Fehler zu beheben?

     SqlCommand cmd = new SqlCommand(); 
         cmd.CommandText = "update member_reg_tbl set full_name='" + TextBox3.Text + "', gender ='" + RadioButtonList1.SelectedItem.Text + "', dob='" + TextBox4.Text + "', occupation='" + TextBox5.Text + "', education='" + TextBox6.Text + "', mobile_number='" + TextBox7.Text + "', landline_number='" + TextBox8.Text + "', country='" + DropDownList3.SelectedItem.Text + "', state='" + DropDownList4.SelectedItem.Text + "', district='" + TextBox14.Text + "', city='" + DropDownList6.SelectedItem.Text + "', email_id='" + TextBox9.Text + "', address='" + TextBox10.Text + "', password='" + TextBox12.Text + "', retype_password='" + TextBox13.Text + "',image='" + path + "' where user_id='"+Label22.Text+"'"; 
         cmd.Connection = con; 
         con.Open(); 
         cmd.ExecuteNonQuery(); 
         con.Close(); 
         Label21.Text = ""+Label22.Text+"Updated successfully..press cancel to login"; 
    

    --error--

    Ausnahmedetails: System.NullReferenceException: Objektverweis auf eine Instanz eines Objekts eingestellt.

    Quellfehler:

    Linie 102:
    Zeile 103: SqlCommand cmd = new SqlCommand(); Zeile 104: cmd.CommandText = "update member_reg_tbl gesetzt full_name = '" + TextBox3.Text + "', gender = '" + RadioButtonList1.SelectedItem.Text + "', dob = '" + TextBox4.Text + "', Beruf = '"+ TextBox5.Text +"', Bildung = '"+ TextBox6.Text +"', mobile_number = '"+ TextBox7.Text +"', Festnetznummer = '"+ TextBox8.Text +"', country = '"+ DropDownList3.SelectedItem.Text +"', state = '"+ DropDownList4.SelectedItem.Text +"', Bezirk = '"+ TextBox14.Text +"', Stadt = '"+ DropDownList6.SelectedItem.Text +" ', email_id =' "+ TextBox9.Text +" ', Adresse =' "+ TextBox10.Text +" ', user_id =' "+ Label22.Text +" ', Passwort =' "+ TextBox12.Text +" ', retype_password = '"+ TextBox13.Text +"', image = '"+ Pfad +"' wo user_id = '"+ Label22.Text +"' "; Zeile 105: cmd.Connection = con; Zeile 106: con.Open();

    +0

    Für den Anfang lesen auf SQL-Injection und wie Parameter zu verwenden. Sie haben eine viel einfachere Zeit, das Problem zu diagnostizieren, weil Sie mehr Linien haben werden. Auch - "Presse abbrechen, um sich anzumelden"? Selbst wenn Sie den Code zum Funktionieren bringen, ist dies wahrscheinlich nicht das, was Benutzer sehen möchten. –

    +1

    Siehe auch [Was ist SQL-Injektion] (http://stackoverflow.com/questions/601300/what-is-sql-injection) –

    +0

    Debug zum Abfangen des genannten Objekts. –

    Antwort

    0

    Stellen Sie sicher, dass con über die richtige Verbindungszeichenfolge verfügt und alle angegebenen DropDownList und RadioButtonList ausgewählt sind und einen gewissen Wert haben sollten.

    +0

    Vielen Dank @Sowndarya ... aber wie könnte ich das Problem lösen, so dass Ich brauche die Seite aktualisiert werden, auch wenn ich die angegebene DropDownlist und RadioButtonList nicht ausgewählt habe –

    +0

    Sie können --Select-- als einen standardmäßig ausgewählten Wert für DropDownList festlegen und beim Laden der Seite standardmäßig einen Radiobutton aktivieren – Sowndarya

    0

    Debug Code und stellen Sie sicher, dass alle TextBox, RadioButtonList und DropDownList Wert hat und nicht null,

    using (SqlConnection con = new SqlConnection(connectionStr)) 
        { 
         cmd = new SqlCommand("update member_reg_tbl full_name [email protected], [email protected], dob [email protected], [email protected],"+ 
         "[email protected], [email protected], [email protected], country [email protected], [email protected]"+ 
         "[email protected], [email protected], [email protected], [email protected], [email protected], [email protected]"+ 
         "[email protected] where user_id [email protected]", con); 
         cmd.Parameters.AddWithValue("@full_name", TextBox3.Text); 
         cmd.Parameters.AddWithValue("@gender", RadioButtonList1.SelectedItem.Text); 
         cmd.Parameters.AddWithValue("@dob", TextBox4.Text); 
         cmd.Parameters.AddWithValue("@oc", TextBox5.Tex); 
         cmd.Parameters.AddWithValue("@edu", TextBox6.Tex); 
         cmd.Parameters.AddWithValue("@mobile", TextBox7.Tex); 
         cmd.Parameters.AddWithValue("@llNo", TextBox8.Tex); 
         cmd.Parameters.AddWithValue("@country", DropDownList3.SelectedItem.Text); 
         cmd.Parameters.AddWithValue("@state", DropDownList4.SelectedItem.Text); 
         cmd.Parameters.AddWithValue("@dis", TextBox14.Text); 
         cmd.Parameters.AddWithValue("@city", DropDownList6.SelectedItem.Tex); 
         cmd.Parameters.AddWithValue("@email", TextBox9.Tex); 
         cmd.Parameters.AddWithValue("@address", TextBox10.Tex); 
         cmd.Parameters.AddWithValue("@pass", TextBox12.Tex); 
         cmd.Parameters.AddWithValue("@rpass", TextBox13.Tex); 
         cmd.Parameters.AddWithValue("@img", path); 
         cmd.Parameters.AddWithValue("@uid", Label22.Tex); 
    
         con.Open(); 
         cmd.ExecuteNonQuery(); 
    
         con.Dispose(); 
         con.Close(); 
    
        } 
    
    Verwandte Themen