Foros del Web » Programando para Internet » ASPX (.net) »

ayuda urgente .net

Estas en el tema de ayuda urgente .net en el foro de ASPX (.net) en Foros del Web. hola quisiera saber si alguien me puede ayudar, estoy probando una aplicacion de la pagina de www.guille.info con .net y sql server y me marca ...
  #1 (permalink)  
Antiguo 28/01/2010, 11:28
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
ayuda urgente .net

hola quisiera saber si alguien me puede ayudar, estoy probando una aplicacion de la pagina de www.guille.info con .net y sql server y me marca un error cuando intento insertar un nuevo usuario este es mi codigo:

Imports System.Data.SqlClient

' Para la función generarClaveSHA1
Imports System.Security.Cryptography

Partial Class AgregarUsuario
Inherits System.Web.UI.Page

Protected Sub btnNuevo_Click( _
ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles btnNuevo.Click

Me.lblAviso.Text = ""
'
' Comprobamos si el nombre ya existe
Using cnn As New SqlConnection(Me.SqlDataSource1.ConnectionString)
Dim cmd As New SqlCommand("INSERT INTO USUARIOS (correo,nombre,clave,fecha,comentarios) VALUES (@Correo, @Nombre, @Clave, @Fecha, @Comentarios)", cnn)
' Abrimos la conexión
cnn.Open()
' Añadimos el valor del parámetro de la consulta
cmd.Parameters.AddWithValue("@Correo", txtCorreo.Text)
' Si devuelve algun valor, es que ya existe
Dim i As Integer
i = CInt(cmd.ExecuteScalar())
If i > 0 Then
' Avisamos y salimos
Me.lblAviso.Text = "El usuario ya existe"
Exit Sub
End If
' Al salir del bloque Using se cierra la conexión
End Using
' El usuario no existe, lo añadimos
Using cnn As New SqlConnection(Me.SqlDataSource1.ConnectionString)
' Usamos el comando Insert del DataSource
Dim cmd As New SqlCommand(Me.SqlDataSource1.InsertCommand, cnn)
' Abrimos la conexión
cnn.Open()
' Añadimos el valor del parámetro de la consulta
cmd.Parameters.AddWithValue("@Correo", txtCorreo.Text)
' La clave la guardaremos como un valor SHA1
Dim clave As String
clave = FormsAuthentication.HashPasswordForStoringInConfig File( _txtClave.Text, "SHA1")
'clave = generarClaveSHA1(txtClave.Text)
cmd.Parameters.AddWithValue("@Clave", clave)
' La fecha será la actual
txtFecha.Text = DateTime.Now.ToString
cmd.Parameters.AddWithValue("@Fecha", txtFecha.Text)
cmd.Parameters.AddWithValue("@Nombre", txtNombre.Text)
cmd.Parameters.AddWithValue("@Comentarios", txtComentarios.Text)
' Ejecutamos el comando de inserción
cmd.ExecuteNonQuery()

' Al salir del bloque Using se cierra la conexión
End Using
Me.lblAviso.Text = "Se ha añadido el nuevo usuario correctamente"

End Sub

' Esta función es la que puedes usar en lugar del método
' HashPasswordForStoringInConfigFile
' Necesita una importación del espacio de nombres:
' System.Security.Cryptography
Private Function generarClaveSHA1(ByVal clave As String) As String
' Crear una clave SHA1 como la generada por
' FormsAuthentication.HashPasswordForStoringInConfig File
Dim enc As New UTF8Encoding
Dim data() As Byte = enc.GetBytes(clave)
Dim result() As Byte
'
Dim sha As New SHA1CryptoServiceProvider()
result = sha.ComputeHash(data)
'
' Convertir los valores en hexadecimal
' cuando tiene una cifra hay que rellenarlo con cero
' para que siempre ocupen dos dígitos.
Dim sb As New StringBuilder
For i As Integer = 0 To result.Length - 1
' Para que tengan 2 cifras hexadecimales
' y las letras sean en mayúsculas
sb.Append(result(i).ToString("X2"))
Next
'
Return sb.ToString()
End Function

' Este código solo es necesario si no se valida en el lado del cliente,
' lo dejo porque forma parte de las pruebas a realizar.
'
' Pero para usarlo en el lado del cliente hay que comentarlo.
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, _
ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) _
Handles CustomValidator1.ServerValidate
args.IsValid = (args.Value.Length > 5)

'If args.Value < 6 Then
' args.IsValid = False
'End If
End Sub

Protected Sub txtClave_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtClave.TextChanged

End Sub
End Class

el error me dice:

Error de servidor en la aplicación '/PruebaJess'.
Debe declarar la variable escalar "@Nombre".

Etiquetas: .net, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.