mi problema es el siguiente, relleno un formulario(asp.net, vb.net) con datos de una base de datos y al guardarlos con el evnto .click (ambos metodos en el mismo formulario)la variable que almacena el codigo id del registro cambia a cero (cuando su valor es uno)

Este es el codigo:
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Data.SqlClient
Public Class AdQuienSom
Inherits System.Web.UI.Page
Dim oglobal As New Global
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Tbximagen As System.Web.UI.WebControls.TextBox
Protected WithEvents LbMens As System.Web.UI.WebControls.Label
Dim registro As Int32 'DECLARACION DE LA VARIABLE
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
If Not Page.IsPostBack Then
RellenaCampos()
End If
End Sub
Public Sub RellenaCampos()
oglobal.DsInfo.Info.Clear() ' Borra los datos existentes en el dataset
Dim qsomo As DataSetSG.InfoRow
oglobal.Adapter_DsInfo.SelectCommand.CommandText = "SELECT * FROM Info"
oglobal.Adapter_DsInfo.Fill(oglobal.DsInfo.Info)
qsomo = oglobal.DsInfo.Info.Rows(0)
'Asiganamos los valores a los Textbox
TbxTitu.Text = qsomo.INtitulo.ToString
TbxDescr.Text = qsomo.INdetalle.ToString
'Tbximagen.Text = qsomo.INcodigo.ToString
registro = Convert.ToInt32(qsomo.INcodigo.ToString()) 'ASIGNACION DEL VALOR LbMens.Text = registro ' AKI VALE 1 End Sub
Public Sub BtnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
LbMens.Text = Me.registro.ToString 'EN ESTE PUNTO LA VARIABLE REGISTRO CAMBIA DE 1 A 0 :(
Dim Actualizar As String
Actualizar = "UPDATE Info SET INtipo = 'entidad',INtitulo = '" + TbxTitu.Text + "'," & _
" INdetalle = '" + TbxDescr.Text + "',INimagen = '" + Tbximagen.Text + "', INfichero = 'vacio' WHERE INcodigo =" + registro.ToString
Dim mensaje = "La Oferta de Empleo se ha sido introducido correctamente."
oglobal.SqlDirect.CommandText = Actualizar
Try
oglobal.ConxGrupoSurNet.Open()
oglobal.SqlDirect.ExecuteNonQuery()
oglobal.ConxGrupoSurNet.Close()
'LbMens.Text = oglobal.SqlDirect.CommandText.ToString()
'registro.ToString()
'RellenaCampos()
Catch ex As SqlTypes.SqlTypeException
LbMens.Text = ex.ToString
Catch otros As Exception
LbMens.Text = otros.ToString
End Try
End Sub
End Class