2016-03-04 2 views
0

J'ai un formulaire d'utilisateur dans lequel les utilisateurs se connectent & peuvent voir toutes les informations qui sont déjà stockées dans la base de données. Donc onPageLoad J'ai une requête select. Maintenant Si l'utilisateur veut mettre à jour n'importe quel enregistrement de textfield ils peuvent éditer mais ici l'information que je modifie ne fait pas la mise à jour dans la base de données. voici mon code.Les données de formulaires ne se mettent pas à jour

J'ai essayé de rompre sur ma requête de mise à jour & sous ce que je ne vois pas les informations mises à jour que je remplis. Il prend l'existant seulement.

OnPageLoad

Private Sub list_business_hospital_Load(sender As Object, e As EventArgs) Handles Me.Load 

     If Not IsPostBack Then 
      Try 
       Dim str As String = "SELECT * FROM hospitals WHERE username='" + Server.HtmlEncode(Request.Cookies("chkusername").Value) + "';" 
       con.Open() 
       Dim cmd As New MySqlCommand(str, con) 
       Dim da As New MySqlDataAdapter(cmd) 
       Dim dt As New DataTable 
       Dim lblservice As New Label 
       For Each chk As ListItem In servicesList.Items 
        If chk.Selected = True Then 
         lblservice.Text = String.Concat(lblservice.Text + ",", chk.Value) 

        End If 
       Next 

       da.Fill(dt) 
       con.Close() 
       TextId.Text = dt.Rows(0)("hospitalID").ToString 
       businessName.Text = dt.Rows(0)("name").ToString 
       welcome.Text = dt.Rows(0)("name").ToString 
       subCat.Text = dt.Rows(0)("subcategory").ToString 
       contactPerson.Text = dt.Rows(0)("contactPerson").ToString 
       websiteName.Text = dt.Rows(0)("websiteName").ToString 
       emailName.Text = dt.Rows(0)("email").ToString 
       phone1.Text = dt.Rows(0)("phone1").ToString 

      Catch ex As Exception 
       Response.Write(ex) 
      End Try 
     End If 
    End Sub 

Bouton de mise à jour

Private Sub updateInfo_Click(sender As Object, e As EventArgs) Handles updateInfo.Click 
     Try 
      Dim con As New MySqlConnection 
      Dim query As New MySqlCommand 
      con.ConnectionString = ConfigurationManager _ 
       .ConnectionStrings("conio").ConnectionString() 
      query.Connection = con 
      con.Open() 
      query.CommandText = "UPDATE hospitals SET name = '" + businessName.Text + "', contactPerson = '" + contactPerson.Text + "', websiteName = '" + websiteName.Text + "', email = '" + emailName.Text + "', phone1 = '" + phone1.Text + "' WHERE hospitalID = '" & TextId.Text + "'" 
      query.ExecuteNonQuery() 
      con.Close() 
      Response.Write("<script language='javascript'>alert('Information updated successfully.');</script>") 
     Catch ex As Exception 
      Response.Write(ex) 
     End Try 
    End Sub 

Répondre

0

Dans votre requête de mise à jour vous avez utilisé hospitalID = ' "& TextId.Text +"' qui est faux. Vous avez inseeted & +

Faites comme cette

query.CommandText = "UPDATE hospitals SET name = '" + businessName.Text + "', contactPerson = '" + contactPerson.Text + "', websiteName = '" + websiteName.Text + "', email = '" + emailName.Text + "', phone1 = '" + phone1.Text + "' WHERE hospitalID = '" + TextId.Text + "'" 
-1

En sélectionner le nom d'utilisateur que vous avez utilisé pour trouver enregistrement et à la mise à jour vous utilisé hospitalID. Cela devrait fonctionner, mais si cela ne fonctionne pas, pouvez-vous s'il vous plaît essayer de mettre à jour l'enregistrement par nom d'utilisateur?

+0

Ce devrait être un commentaire. –