startuga Posted August 8, 2013 at 03:46 PM Report #521236 Posted August 8, 2013 at 03:46 PM Boas, Alguém me consegue dizer o que está mal com este código? Não dá erro mas também não atualiza :c Dim con As New SqlConnection("Data Source=xxxxxxx\xxxxx;Initial Catalog=xxxx;User ID=xxxx;pwd=xxxx") con.Open() Dim command As New SqlCommand("UPDATE AREAS SET AREA_ID = @AREA_ID, AREA_CODE = @AREA_CODE, AREA_DESC = @AREA_DESC WHERE (AREA_ID = @AREA_ID)", con) command.Parameters.Add("@AREA_ID", SqlDbType.VarChar).Value = TextBox1.Text command.Parameters.Add("@AREA_CODE", SqlDbType.VarChar).Value = TextBox2.Text command.Parameters.Add("@AREA_DESC", SqlDbType.VarChar).Value = TextBox3.Text command.ExecuteNonQuery() con.Close() End Sub
nelsonr Posted August 8, 2013 at 04:21 PM Report #521244 Posted August 8, 2013 at 04:21 PM E confirmas que existe um registo na tabela AREAS com o campo AREA_ID igual ao conteúdo da textbox1, e que o conteúdo da textbox2 e textbox3 é diferente do que está no registo
startuga Posted August 8, 2013 at 04:31 PM Author Report #521246 Posted August 8, 2013 at 04:31 PM Não, como posso fazê-lo?
nelsonr Posted August 8, 2013 at 04:35 PM Report #521247 Posted August 8, 2013 at 04:35 PM Então, o comando que estás a executar está a actualizar a tabela AREAS, para o registo com o AREA_ID igual ao que está na textbox1. Se não existir o registo, não há atualização. Se calhar pretendias fazer um INSERT em vez do UPDATE?
startuga Posted August 8, 2013 at 04:40 PM Author Report #521248 Posted August 8, 2013 at 04:40 PM Eu tenho uma gridview em outra página diferente, quandos seleciono uma das linhas da grid, ela vai me passar os dados para as textbox's que se encontram noutra página. O objectivo é proceder à alteração dos dados. Devo então utilizar INSERT em vez do UPDATE?
nelsonr Posted August 8, 2013 at 04:45 PM Report #521250 Posted August 8, 2013 at 04:45 PM Não, a alteração é feita pelo UPDATE. Por isso é que tens de confirmar se o que está a ficar nas textboxs está correcto em relação ao que existe na base de dados
startuga Posted August 8, 2013 at 04:48 PM Author Report #521251 Posted August 8, 2013 at 04:48 PM Ou seja terei de fazer um ciclo com validação de dados?
nelsonr Posted August 8, 2013 at 05:06 PM Report #521253 Posted August 8, 2013 at 05:06 PM Vamos por partes... no post original disseste que o comando não estava a funcionar, apesar de parecer correcto. Por isso, faz um breakpoint naquele codigo que partilhaste e verifica o que está nas textboxs. Depois abre a base de dados, vai à tabela AREAS e verifica se existe uma AREA_ID com o conteudo que está na textbox1
startuga Posted August 9, 2013 at 07:40 AM Author Report #521308 Posted August 9, 2013 at 07:40 AM (edited) As texbox estão a receber os valores errados, ficam com os valores que tinham antes de eu as editar :| Edited August 9, 2013 at 07:43 AM by startuga
nelsonr Posted August 9, 2013 at 08:19 AM Report #521312 Posted August 9, 2013 at 08:19 AM Pois... e como estás a preencher as textboxs?
startuga Posted August 9, 2013 at 09:06 AM Author Report #521314 Posted August 9, 2013 at 09:06 AM (edited) Desta forma: Na página da grid: <asp:HyperLinkField DataNavigateUrlFields="AREA_ID,AREA_CODE,AREA_DESC" DataNavigateUrlFormatString = "Edit.aspx?AREA_ID={0}&AREA_CODE={1}&AREA_DESC={2}" Text="Edit/Delete" /> E esta na outra página com as text's: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim strID As String = Request.QueryString("AREA_ID") Dim strCode As String = Request.QueryString("AREA_CODE") Dim strDesc As String = Request.QueryString("AREA_DESC") TextBox1.Text = strID TextBox2.Text = strCode TextBox3.Text = strDesc End Sub Edited August 9, 2013 at 09:07 AM by startuga
nelsonr Posted August 9, 2013 at 10:42 AM Report #521330 Posted August 9, 2013 at 10:42 AM Ou seja, em cada page load sobrepoes as variaveis com o que vem no endereço. Coloca esse codigo dentro de If Not IsPostBack Then ' ... End if
startuga Posted August 9, 2013 at 11:21 AM Author Report #521340 Posted August 9, 2013 at 11:21 AM Done Thanks 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now