Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 30-ene-2003, 17:05   #1 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
Ayuda con VB .net

Hola a todos, he retomado el .net, y tengo ya un problema
en visual Studio .net:

tengo un form, que se llama usuarios, detro de este tengo
4 controles (login,password, password2, nombre y boton),
debidamente validados y comparados.

ahora como hago para que cuando presione el boton, vaya a
la bbdd (Access),use la tabla usuarios, verifique si el
usuario existe.
si existe, envie un mensaje en la misma pagina de error, y
si no existe que lo inserte.

Eso creo que es facil, pero no se hacerlo con asp .net en
el entorno de Visual studio .net

De ante mano Gracias
vamp_02 está desconectado   Responder Citando
Antiguo 30-ene-2003, 19:39   #2 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

No es suficiente con coloacar el código en el evento click del boton? igual a como si fuera un winform..
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 04:27   #3 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
Pedon, y gracias por tu respuesta, pero lo que necesito es primero que nada:

.- Insertar un registro en un BBDD, Access, por .net


Te cuento, he buscado en algunas paginas y los ejemplo los copio, pero no me dan resultado.


Asi que sigo averiguando.
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 08:26   #4 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Aqui tienes un ejemplo de acceso a una BD Access en .NET
fijate solo en la forma de conectarse.. no en la forma de llenar
el dataset (que es una prueba para hacer una paginación personalizada).

/**********************************************/
Imports System.Data.OleDb
Public Class foro
Inherits System.Web.UI.Page
Protected WithEvents dgPreguntas As System.Web.UI.WebControls.DataGrid

Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb") & ";"
Dim cnnMoviplus As New OleDbConnection(strConnection)
Public currentIndex As Integer = 0
Dim pageSize As Integer = 2


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Dim orderSQL As String = "SELECT * FROM preguntas"
Dim daEstablecimientos As OleDbDataAdapter = New OleDbDataAdapter(orderSQL, cnnMoviplus)
Dim dsEstablecimientos As DataSet = New DataSet()
daEstablecimientos.Fill(dsEstablecimientos, currentIndex, pageSize, "Establecimientos")
dgPreguntas.DataSource = dsEstablecimientos
dgPreguntas.DataBind()
End Sub

/**************************************************/

Última edición por Henry Zapata; 31-ene-2003 a las 08:30.
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:11   #5 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
Henrry, ya logre que se insertara un registro (en oracle), pero ahora necesito hacer un par de validaciones:

.- Que si el Registro existe

supongamos:

Tengo el Form, Login y password, que tengo que poner si el usuario trata de inscribirse y su login ya existe.

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="aa.aspx.vb" Inherits="TCCUOTAS.aa" Debug="true"%>
<HTML>
<script runat="server">
Sub addusu_click(obj As object, e As eventargs)
if ispostback() then
Dim objConn As New OleDbConnection ("Provider=MSDAORA.1;Password=clcabrer;User ID=clcabrer;Data Source=ccabrera")
If(Page.IsValid)
Dim sSQL, Resul as string
sSQL = "Insert into usu (USUARIO,PASSWORD) values ('" & login.text & "','" & password.text & "')"
Dim objCmd As New OleDbCommand (sSQL, objConn)
objConn.open
resul= objCmd.ExecuteNonQuery()
if resul="" then
response.write ("Registro agregado")
else
response.write ("Registro no agregado")
End if
else
response.write ("Registro no agregado")
end if
end if
obj.Connection.Close()
End sub
</script>
<body>
<form id="Form1" runat="server">
Insertar nuevo cliente:
<br>
<br>
<hr>
Nombre:
<ASP:TEXTBOX id="login" runat="Server" AutoPostBack="True"></ASP:TEXTBOX><br>
password:
<ASP:TEXTBOX id="password" runat="Server"></ASP:TEXTBOX><br>
<ASP:BUTTON id="Enviar" onclick="addusu_click" runat="Server" Text="Enviar"></ASP:BUTTON><br>
<hr>
</form>
</body>
</HTML>


Este cogi no me sirve, porque me devuelve este error.


ORA-00001: restricción única (CLCABRER.PK_USU) violada
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.OleDb.OleDbException: ORA-00001: restricción única (CLCABRER.PK_USU) violada


Como lo hago para manejar este error, que no me aprezca en pantalla, pero si que aparezca un mensaje "Error:Usuario ya existe"

Algo asi.


Gracias
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:21   #6 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Puedes usar el try/catch.. Aqui un ejemplo

/*********************/
Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click


Try
Dim modelo As New Modelo()
modelo.nombre = txtNombre.Text
modeloJoyaDB.InsertarModeloJoya(modelo)
dgModelo.DataSource = modeloJoyaDB.listarModeloJoya.Tables(0)
Catch ex As SqlException
MessageBox.Show(ex.Message, "Información del Modelo de Joya", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Catch ex As Exception
MessageBox.Show(ex.Message, "Información del Modelo de Joya", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Finally
txtNombre.Focus()
txtNombre.Clear()
intCodigoModelo = 0
End Try
End Sub

/*****************/
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:34   #7 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
para que sirven el try/catch, disculpa mi ignorancia.

Es que no te entiendo.


disculpa mi lentitud
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:42   #8 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

lee primero esto, y si tienes cualquier duda luego, avisa nomas.

http://es.gotdotnet.com/quickstart/howto/doc/catch.aspx
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:46   #9 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
Perdona, pero sigo sin entender!!!
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 09:54   #10 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

El try/catch se utiliza para manejar los errores (Aunque deberia ser la ultima opcion a usar). Todos los lenguajes siempre tienen una forma de manejar errores, en VB 6.0 era el ON ERROR GO TO, en JAVA try/catch y en .NET es try/catch tambien.

Try

'Aqui escribes el codigo que PUEDE producir error
insertando datos...
conexion.commit

Catch e As Exception

'Aqui lo que quieres mostrar al ocurrir el error.
conexion.rollback
messagebox.show("se produjo un error")

Finally

'Aqui pones lo que siempre se ejecutara no importando si
'hubo o no un error
conexion.close

End Try
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:02   #11 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
creo, creo, pero no estoy seguro si entendi.


Voy a probar y te cuento.
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:16   #12 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
no me resulto, podrias decrime en que vaya esta cosa....


<HTML>
<script runat="server">
Sub addusu_click(obj As object, e As eventargs)
if ispostback() then
Dim objConn As New OleDbConnection ("Provider=MSDAORA.1;Password=clcabrer;User ID=clcabrer;Data Source=ccabrera")
Dim sSQL, Resul as string
sSQL = "Insert into usu (USUARIO,PASSWORD) values ('" & login.text & "','" & password.text & "')"
Dim objCmd As New OleDbCommand (sSQL, objConn)
objConn.open
try
'Aqui escribes el codigo que PUEDE producir error
resul= objCmd.ExecuteNonQuery
message.show("Registro Insertado")
Catch
'Aqui lo que quieres mostrar al ocurrir el error.
message.show("se produjo un error")
Finally
'Aqui pones lo que siempre se ejecutara no importando si hubo o no un error
conexion.close
End if
End sub

</script>


Gracias
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:23   #13 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Catch e As Exception

conexion.close ' es solo un ejemplo, objConn.close podria ser

donde esta el end try???
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:30   #14 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
Bueno lo pobre, lo corregi, y me dice:

LÃ_nea 14: 'Aqui escribes el codigo que PUEDE producir error
LÃ_nea 15: resul= objCmd.ExecuteNonQuery
LÃ_nea 16: message.show("Registro Insertado") <-- aca
LÃ_nea 17: Catch e As Exception
LÃ_nea 18: 'Aqui lo que quieres mostrar al ocurrir el error.


y este es el codigo:

<HTML>
<script runat="server">
Sub addusu_click(obj As object, e As eventargs)
if ispostback() then
Dim objConn As New OleDbConnection ("Provider=MSDAORA.1;Password=clcabrer;User ID=clcabrer;Data Source=ccabrera")
Dim sSQL, Resul as string
sSQL = "Insert into usu (USUARIO,PASSWORD) values ('" & login.text & "','" & password.text & "')"
Dim objCmd As New OleDbCommand (sSQL, objConn)
objConn.open
try
'Aqui escribes el codigo que PUEDE producir error
resul= objCmd.ExecuteNonQuery
message.show("Registro Insertado")
Catch e As Exception
'Aqui lo que quieres mostrar al ocurrir el error.
messagebox.show("se produjo un error")
Finally
'Aqui pones lo que siempre se ejecutara no importando si hubo o no un error
objConn.close
End Try
End if
End sub

</script>
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:35   #15 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata


messagebox.show("se produjo un error")
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:36   #16 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
???
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:41   #17 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Uhm.. el ejemplo que te di era solo para que vieras el uso del try cach.. el error esta en usar showmessge para mostrar el mensaje
cuando estamos en un script de servidor.

Lo que yo haria es poner una etiqueta que la haria invisible o visible segun exista el error

Label1.Text = "error"
Label1.Visible = True
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:45   #18 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Podrias usar el customValidator pero tienes que leer un poco mas sobre VALIDACION DE DATOS EN .NET antes.
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:46   #19 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
ya corregui el error, coloque el Label1, ahora me da error en esta linea.


Catch e As Exception este es el codigo ahora:


<script runat="server">
Sub addusu_click(obj As object, e As eventargs)
if ispostback() then
Dim objConn As New OleDbConnection ("Provider=MSDAORA.1;Password=clcabrer;User ID=clcabrer;Data Source=ccabrera")
Dim sSQL, Resul as string
sSQL = "Insert into usu (USUARIO,PASSWORD) values ('" & login.text & "','" & password.text & "')"
Dim objCmd As New OleDbCommand (sSQL, objConn)
objConn.open
try
'Aqui escribes el codigo que PUEDE producir error
resul= objCmd.ExecuteNonQuery
label1.Text="se produjo un error"
Label1.visible=true
Catch e As Exception
'Aqui lo que quieres mostrar al ocurrir el error.
label1.Text="Se produjo un error"
Label1.visible=true

Finally
'Aqui pones lo que siempre se ejecutara no importando si hubo o no un error
objConn.close
End Try
End if
End sub

</script>
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 10:55   #20 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

cambia el e por otra variable, por ejemplo ex
lo que pasa es que e es una variable reservada

Catch ex As Exception
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 11:08   #21 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
bien, perfecto ya funciono......................mil gracias, cualquier duda te puedo volver a molestar.


Gracias
vamp_02 está desconectado   Responder Citando
Antiguo 31-ene-2003, 11:10   #22 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
De acuerdo

salio ???
Henry Zapata está desconectado   Responder Citando
Antiguo 31-ene-2003, 11:11   #23 (permalink)
vamp_02 está en el buen camino
 
Avatar de vamp_02
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 367
Enviar un mensaje por Yahoo  a vamp_02
sip espectacular.............

Y vuelvo a decirte sii te puedo molestar mas adelante que de hecho asi lo creo.



Gracias
vamp_02 está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:40.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85