none
PUBLICACION DE UN SISTEMA WEB RRS feed

  • Pregunta

  • buenas tardes, estoy usando somee para publicar un sistema de comercialización web, pero no puedo ingresar datos, estoy tratando de ingresar registros en la siguiente tabla y el codigo es el siguiente:

    La conexion es hecha de acuerdo a la conexion que me dan en el somee y no creo que sea la conexion ya que puedo iniciar sesion con total normalidad, el problema es cuando quiero ingresar datos, ya que el boton nuevo igual me funciona. 

    Imports System.Data.SqlClient
    Public Class BANCOS
        Inherits System.Web.UI.Page
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            BtnIngresar.Enabled = False
            Txtbanco.Text = UCase(Txtbanco.Text)

        End Sub
        Protected Sub BtnIngresar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnIngresar.Click
            If Trim(Txtbanco.Text) <> "" And TxtDireccionBanco.Text <> "" And TxtTelefonoBanco.Text <> "" And TxtNroCuentabanco.Text <> "" Then
                Dim C As String
                C = Txtbanco.Text
                Dim CN As New SqlConnection("Data Source=localhost;Initial Catalog=DISTRIBUIDORAPOLLOS;integrated security=true;")
                Dim ds As New DataSet
                Dim consulta = New SqlDataAdapter("select BancosNombre from BANCOS where BancosNombre like '%" + C + "%'", CN)
                ds.Reset()
                consulta.Fill(ds, "BANCOS")
                If (ds.Tables("BANCOS").Rows.Count) > 0 Then
                    MsgBox("Nombre de Banco ya existe")
                Else
                    Dim ds1 As New DataSet
                    Dim consulta1 = New SqlDataAdapter("select BancosDireccion from BANCOS where BancosDireccion like '%" + TxtDireccionBanco.Text + "%'", CN)
                    ds1.Reset()
                    consulta1.Fill(ds1, "BANCOS")
                    If (ds1.Tables("BANCOS").Rows.Count) > 0 Then
                        MsgBox("Direccion de Banco ya existe")
                    Else
                        Dim ds2 As New DataSet
                        Dim consulta2 = New SqlDataAdapter("select BancosTelefono from BANCOS where BancosTelefono like '%" + TxtTelefonoBanco.Text + "%'", CN)
                        ds2.Reset()
                        consulta2.Fill(ds2, "BANCOS")
                        If (ds2.Tables("BANCOS").Rows.Count) > 0 Then
                            MsgBox("Telefono de Banco ya existe")
                        Else
                            Dim ds3 As New DataSet
                            Dim consulta3 = New SqlDataAdapter("select BancosNroCuenta from BANCOS where BancosNroCuenta like '%" + TxtNroCuentabanco.Text + "%'", CN)
                            ds3.Reset()
                            consulta3.Fill(ds3, "BANCOS")
                            If (ds3.Tables("BANCOS").Rows.Count) > 0 Then
                                MsgBox("Nro Cuenta de Banco ya existe")
                            Else
                                Dim ds4 As New DataSet
                                Dim consulta4 = New SqlDataAdapter("select BancosPaginaWeb from BANCOS where BancosPaginaWeb like '%" + TxtPaginaWebBanco.Text + "%'", CN)
                                ds4.Reset()
                                consulta4.Fill(ds4, "BANCOS")
                                If (ds4.Tables("BANCOS").Rows.Count) > 0 Then
                                    MsgBox("Pagna Web de Banco ya existe")
                                Else
                                    Dim negocio As New BancoNegocio
                                    negocio.insertar(Me.LblCodigoBanco.Text, Me.Txtbanco.Text, Me.TxtDireccionBanco.Text, Me.TxtTelefonoBanco.Text, Me.TxtNroCuentabanco.Text, Me.TxtPaginaWebBanco.Text)
                                    MsgBox("banco registrado")
                                    Response.Redirect("BANCOS.ASPX")
                                End If
                            End If
                        End If
                    End If
                End If
            Else
                MsgBox("Falta ingresar datos")
            End If
        End Sub
        Protected Sub BtnBuscar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnBuscar.Click
            BtnNuevo.Enabled = False
            BtnBuscar.Enabled = False
            BtnIngresar.Enabled = False
            Dim negocio As New BancoNegocio
            Dim lista = negocio.buscarbanco(Me.LblCodigoBanco.Text)
            Me.GVbancos.DataSource = lista
            Me.GVbancos.DataBind()
        End Sub
        Protected Sub BtnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnNuevo.Click
            BtnIngresar.Enabled = True
            BtnNuevo.Enabled = False
            BtnBuscar.Enabled = False
            Dim numero As Integer
            Dim dvsql As DataView = DirectCast(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView)
            If dvsql.Count > 0 Then
                numero = dvsql.Count
            End If
            numero = numero + 1
            LblCodigoBanco.Text = Format(numero, "00")
        End Sub
        Protected Sub BtnSalir_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnSalir.Click
            Response.Redirect("BANCOS.ASPX")
        End Sub
    End Class

    Por favor solicito su ayuda en esto. Gracias

    jueves, 19 de enero de 2017 0:18

Respuestas

  • Hola, pero ese error sale porque no encuentra el formulario estas seguro que subiste el sitio correctamente?, ¿seguiste los pasos adecuados?, puedes ver ese formulario entre los archivos que has subido en somee?

    Por otro lado en el response.redirect podrías poner algo como

     Response.Redirect("~/BANCOS.ASPX")

    con eso encuentras la ruta del servidor o si lo tiene dentro de alguna carpeta algo como

    ~/micarpeta/BANCOS.ASPX


    también podrías utilizar MapPath

    https://msdn.microsoft.com/es-es/library/system.web.httpserverutility.mappath(v=vs.110).aspx


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    miércoles, 25 de enero de 2017 4:12
  • Hola, pero cuando dices NO ME FUNCIONA a que te refierres porque habías puesto un error de recurso no encontrado y te respondí que podía ser que se estuviera redireccionando mal la página o que en efecto esta no se haya subido bien, ya pudiste solucionar eso?,

    yo también he publicado en somee, siempre con la opcion publicar del mismo visual studio y poniendo en la unbicación del destino algo como esto

    ftp://servicios.somee.com/www.servicios.somee.com


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 26 de enero de 2017 21:13
  • Aunque no resuelte tu problema, te comento que es mala practica colocar la cadena de conexion directamente en el codigo.

    Por favor usa el web.config

    En aplicaciones web no existe el MsgBox(...), por favor usa otra forma de mostrar alertas al usuario (exiten infinidad de librerias de javascript que lo hacen, por ejemplo Zebra Dialog)

    Si es posible, no use ds4.Tables("BANCOS") en el codigo de la pagina aspx, aisla esos codigo en objetos basados en tus tablas (ORM)

    Hay muchos detalles que debes corregir antes de tratar de ver porque no se graban tus datos.

    Saludos

    jueves, 26 de enero de 2017 22:07

Todas las respuestas

  • Hola, sobre tu código este MsgBox("Falta ingresar datos") ,es una clase que tu has creado que genera javascript o es la del windowsforms,si es la de windowsforms deberías retirarla ya que no aplica para un desarrollo web.

    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 19 de enero de 2017 4:35
  • Hola, borrando el msgbox como me indicas, sigo con el mismo problema. Incluso borre todas las excepciones e igual sigo con el mismo error
    jueves, 19 de enero de 2017 17:29
  • hola amigo, creo que tu error esta en el load, ya que estas desactivando siempre el botón ingresar, recuerda (lo puedes ver al depurar tu aplicación desde el entorno de desarrollo) que siempre que se llama a un evento en el código de respaldo, pasas por el load, prueba poniendo un if not page.isPostback then... tu código debería quedar algo así (disculpa si no es completamente correcto, es que lo hago de memoria)

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    if not page.ispostback then        BtnIngresar.Enabled = False
            Txtbanco.Text = UCase(Txtbanco.Text)
    end if
        End Sub

    Básicamente lo que estamos haciendo, es preguntar si no es postback, lo que sucede en la primera carga de la página, puedes encontrar mayor información de esto en https://msdn.microsoft.com/es-es/library/system.web.ui.page.ispostback(v=vs.100).aspx 

    jueves, 19 de enero de 2017 17:43
  • Y cual es el error que te sale?

    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 19 de enero de 2017 21:19
  • Hola, puse lo que me indicaste pero sigo con no saber donde esta el error, es más probando lo siguiente en el boton nuevo:

    txtbanco.text="hola"

    Presionando en el boton nuevo deberia aparecerme en la caja de texto la palabra hola sin embargo no me funciona, pero el contador de mis registros eso si me carga en el label del código.

    miércoles, 25 de enero de 2017 3:20
  • el error que me sale es el siguiente:

    

    miércoles, 25 de enero de 2017 3:23
  • Hola, pero ese error sale porque no encuentra el formulario estas seguro que subiste el sitio correctamente?, ¿seguiste los pasos adecuados?, puedes ver ese formulario entre los archivos que has subido en somee?

    Por otro lado en el response.redirect podrías poner algo como

     Response.Redirect("~/BANCOS.ASPX")

    con eso encuentras la ruta del servidor o si lo tiene dentro de alguna carpeta algo como

    ~/micarpeta/BANCOS.ASPX


    también podrías utilizar MapPath

    https://msdn.microsoft.com/es-es/library/system.web.httpserverutility.mappath(v=vs.110).aspx


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    miércoles, 25 de enero de 2017 4:12
  • Paa hacerlo más simple he visto la necesidad de hacer lo siguiente:

    Dim CN As New SqlConnection("workstation id=DISTRIBUIDORAPOLLOS.mssql.somee.com;packet size=4096;user id=emlescano_SQLLogin_1;pwd=shn5uwo57l;data source=DISTRIBUIDORAPOLLOS.mssql.somee.com;persist security info=False;initial catalog=DISTRIBUIDORAPOLLOS;")
            CN.Open()

            Dim sql = "insert into BANCOS values (@valor1,@valor2,@valor3,@valor4,@valor5,@valor6,@Valor7)"
            Dim cmd As New SqlCommand(sql, CN)
            'Dim cmd As New SqlCommand("insertar_banco", CN)
            'cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = CN
            cmd.Parameters.AddWithValue("@valor1", LblCodigoBanco.Text)
            cmd.Parameters.AddWithValue("@Valor2", Txtbanco.Text)
            cmd.Parameters.AddWithValue("@Valor3", TxtDireccionBanco.Text)
            cmd.Parameters.AddWithValue("@valor4", TxtTelefonoBanco.Text)
            cmd.Parameters.AddWithValue("@Valor5", TxtNroCuentabanco.Text)
            cmd.Parameters.AddWithValue("@valor6", TextBox1.Text)
            cmd.Parameters.AddWithValue("@Valor7", "A")
            cmd.ExecuteNonQuery()

    Y aun así no me funciona.

    Ese es el boton ingresar y el eveno load es el siguiente:

    if not page.ispostback then        

                Txtbanco.Text = "hola"
            end if

    Que tampoco me funciona.



    jueves, 26 de enero de 2017 15:38
  • Hola, pero cuando dices NO ME FUNCIONA a que te refierres porque habías puesto un error de recurso no encontrado y te respondí que podía ser que se estuviera redireccionando mal la página o que en efecto esta no se haya subido bien, ya pudiste solucionar eso?,

    yo también he publicado en somee, siempre con la opcion publicar del mismo visual studio y poniendo en la unbicación del destino algo como esto

    ftp://servicios.somee.com/www.servicios.somee.com


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 26 de enero de 2017 21:13
  • Aunque no resuelte tu problema, te comento que es mala practica colocar la cadena de conexion directamente en el codigo.

    Por favor usa el web.config

    En aplicaciones web no existe el MsgBox(...), por favor usa otra forma de mostrar alertas al usuario (exiten infinidad de librerias de javascript que lo hacen, por ejemplo Zebra Dialog)

    Si es posible, no use ds4.Tables("BANCOS") en el codigo de la pagina aspx, aisla esos codigo en objetos basados en tus tablas (ORM)

    Hay muchos detalles que debes corregir antes de tratar de ver porque no se graban tus datos.

    Saludos

    jueves, 26 de enero de 2017 22:07
  • Es que cuando trato de ingresar los registros, cuando le doy click en el boton ingresar, me sale ese error de recurso no encontrado.

    Me puedes indica como se hace el publicar desde el mismo visual por favor.

    sábado, 28 de enero de 2017 23:38
  • Me podrías dar un ejemplo de como realizar el boton ingresar usando el somee, por favor
    sábado, 28 de enero de 2017 23:46