Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - d91

#101
ya lo encontre, copiaba la cadena con el punto y coma, solo que ahora si lleno un dataset me da un desbordamiento de pila y ya probe llenando tambien un datatable, no se porque si la consulta en la consola lo mas que me da son 800 filas
#102
hola a todos, estoy trabajando el prototipo de un procedimiento almacenado en Oracle, desde la aplicacion en .net me envian cuales opciones fueron marcadas(por lo menos marcaron una) y las tengo que concatenar porque es para dar privilegios a un nuevo usuario, encontre una solucion pero veo que es muy extensa, tal vez me ayudan con otra idea para hacerlo mas pequeño y mas optimo
Código (sql) [Seleccionar]

set serveroutput on
declare
priv1 NUMBER(2);
priv2 NUMBER(2);
priv3 NUMBER(2);
priv4 NUMBER(2);
privilegios varchar2(512);
cadena varchar2(1000);
begin


priv1:=1;--privilegio de insert
priv2:=1;--privilegio de update
priv3:=0;--privilegio de delete
priv4:=1;--privilegio de select
if priv1 > 0 then
  privilegios:='INSERT';
  end if;
 
if priv2 > 0 and privilegios is not null then
   privilegios:=privilegios||','||'UPDATE';
   end if;

if priv2 > 0 and privilegios is null then
   privilegios:='UPDATE';
   end if;
   
if priv3 > 0 and privilegios is not null then
  privilegios:=privilegios||','||'DELETE';
  end if;

if priv3 > 0 and privilegios is null then
  privilegios:='DELETE';
  end if;
 
if priv4 > 0  and privilegios is not null then
  privilegios:=privilegios||','||'SELECT';
end if;

if priv4> 0 and privilegios is null then
  privilegios:='SELECT';
  end if;
cadena:='grant '||privilegios||' on '||' tab_estudiante '||' to '||' my_usuario';
dbms_output.put_line(cadena);
end;
#103
hola a todos, estoy tratando de llenar un datagrid  con una consulta directa con sql a oracle, pero el error indica que el query tiene caracteres invalidos, lo raro es que ya  ejecute otro query que tambien tiene caracteres parecidos y no dio error, habra alguna forma de evitar este error ya probe poniendo comillas y /o concatenando
Código (sql) [Seleccionar]
select name from v$sysstat where value > 0 order by name;
el error creo que es por el caracter $ que tiene, pero el query que ya me funciono es
Código (sql) [Seleccionar]
select * from v$sgastat;
estas consultas son para ver memoria y consultar el hitratio
#104
.NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase
28 Septiembre 2015, 15:44 PM
bueno al final lo logre resolver en la pagina base seria asi:
Código (vbnet) [Seleccionar]

Public Class PaginaBase
    Inherits Page
    Protected Overrides Sub OnInit(e As EventArgs)
        MyBase.OnInit(e)
        If Me.Session("UserID") Is Nothing Then
            Server.Transfer("login.aspx")
        End If
    End Sub
End Class

y en la pagina.aspx.vb seria
Código (vbnet) [Seleccionar]

Public Class pagina
    Inherits PaginaBase

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

End Sub

MyBase no lo habia encontrado gracias por el aporte....
#105
.NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase
28 Septiembre 2015, 14:09 PM
gracias por el aporte y lo que intento hacer es sobreescribir el metodo Page_Load del aspx.vb que viene heredado en el system.web.UI.page en la clase PaginaBase, lo de las lineas en c# es porque no he encontrado mucha documentacion para esto en visual basic y a veces  he tratado de convertir codigo c# a visual basic
#106
.NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase
27 Septiembre 2015, 13:25 PM
Gracias desde ya, aqui un poco mas de codigo, en el user control tengo el menu, y quiero que se deshabiliten los links cuando no este logueado, para eso hice la clase pagina_base, pero al crear un nuevo aspx el code behind herede automaticamente de la clase system.web.ui.page y trato de sobreescribir el page_load de modo que siempre verifique el   login en la clase:
Código (vbnet) [Seleccionar]

Imports Businness
Imports Modelo
Public Class inciso3
   Inherits System.Web.UI.Page

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

   End Sub


    Protected Sub btnguardar_Click(sender As Object, e As EventArgs) Handles btnguardar.Click
       Dim proveedor As New clsproveedor
       proveedor.setid(Integer.Parse(txtid.Text))
       proveedor.setnombre(txtnombreprov.Text)
       proveedor.setdirec(txtdireccion.Text)
       proveedor.settel(Integer.Parse(txttelefono.Text))
       proveedor.setgiro(txtgiro.Text)

       Dim prov As New proveedorBS
       Dim row As Integer
       row = prov.nuevoProveedor(proveedor)
       If row > 0 Then
           Me.lblMensaje.Text = "Insercion Correcta"
       Else
           Me.lblMensaje.Text = "Error en la Insercion"
       End If


este seria el code behind del aspx, y aqui abajo trato de sobreescribir el page_load con la clase pagina_base
Código (vbnet) [Seleccionar]

Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.SessionPageStatePersister
Imports System.Web.Services.Protocols

Public Class PaginaBase
   Inherits System.Web.UI.Page
   Protected Overrides Sub OnInit(e As EventArgs)
       MyBase.OnInit(e)
   End Sub
   Public Sub New()


       Page_Load()

   End Sub
   Protected Sub Page_Load()
       If Me.Session("UserID") Is Nothing Then
           Server.Transfer("Login.aspx")
       End If

   End Sub
   Public Shared Sub DisableControls(ByVal Parent As Control)

       enabledControls(Parent, False)
   End Sub
   Public Shared Sub enabledControls(ByVal Parent As Control, ByVal b As Boolean)
       Dim i As Integer = 0
       Dim var As Integer = 0


       'For i To Parent.Controls.Count -1  

       While i <= Parent.Controls.Count
           If TypeOf Parent.Controls(i) Is Button Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is LinkButton Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is TextBox Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is DropDownList Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is ListBox Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is DataGrid Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is GridView Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is DataList Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is HtmlInputButton Then
               Parent.Controls(i).EnableViewState = b
           ElseIf TypeOf Parent.Controls(i) Is HtmlInputButton Then
               Parent.Controls(i).EnableViewState = b
           ElseIf Parent.Controls(i).HasControls Then
               If b Then
                   EnableControls(Parent.Controls(i))
               Else
                   DisableControls(Parent.Controls(i))
               End If

           End If
       End While
       'Next

   End Sub
   Public Shared Sub EnableControls(ByVal Parent As Control)

       enabledControls(Parent, True)
   End Sub
    Public Function LoggedIn(HttpSessionState Session) as boolean
        dim Result as boolean
          Result = true
           if Session("UserName") is nothing then
           
               Result = false;
           
           if Session("UserID") is nothing null then
           
               Result = false;
           
           return Result;
     End Function  


End Class


y aqui esta el code behind del user control
Código (vbnet) [Seleccionar]


Public Class UCNavigation
   Inherits System.Web.UI.UserControl

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       Dim Logged As Boolean
       Logged = paginaBase.LoggedIn(Session)
       If Me.lnkChangePassword.Enabled Then
           Me.lnkChangePassword.CssClass = "izq"
       Else
           Me.lnkChangePassword.CssClass = "izqDesactivado"
       End If
       Page.ClientScript.RegisterStartupScript(Page.GetType(), "tttt", "ocultarEnlaces(" + Logged.ToString().ToLower() + ")", True)
       Me.divLogin.Visible = Not Logged
       If Logged Then
          Me .lnkHome.CssClass = "izq";
           Me.lblVentas.CssClass = "izq"
           Me.lnkAddVenta.CssClass = "izq"
           Me.lnkListVentass.CssClass = "izq"
           Me.lblProductos.CssClass = "izq"
           Me.lnkAddProducto.CssClass = "izq"
           Me.lnkListProductos.CssClass = "izqDos"
           Me.lblProveedores.CssClass = "izqDos"
           Me.lnkAddProveedor.CssClass = "izqDos"
           Me.lnkListProveedores.CssClass = "izqDos"
           Me.lblCompras.CssClass = "izqDos"
           Me.lnkAddCompra.CssClass = "izqDos"
           Me.lnkLogout.CssClass = "izq"
           Me.lnkListaCompras.CssClass = "izqDos"
           Me.lblBalance.CssClass = "izqDos"
           Me.lnkListaCompras.CssClass = "izqDos"
           Me.lnkAddCompra.CssClass = "izqDos"
           Me.lnkVerValance.CssClass = "izqDos"
           Me.lnkCaja.CssClass = "izqDos"
           Me.linkAddCliente.CssClass = "izqDos"
           Me.linkListCliente.CssClass = "izqDos"

       End If
   End Sub
   Protected Overrides Sub OnInit()
       Me.InitializeComponent()
       Base.OnInit()
   End Sub
   Private Sub InitializeComponent()
       Base.Load += New EventHandler(Me.Page_Load)
   End Sub
   

End Class
#107
.NET (C#, VB.NET, ASP) / Pagina que hereda clase
27 Septiembre 2015, 03:29 AM
hola a todos estoy tratando de implementar user control, pero hice una clase llamada pagina base, donde cada vez que se cargue una pagina se verifiquen variables de session para cargar el user control, pero la pagina por defecto hereda de system.web.ui.page y no hay herencia multiple en visual basic, por lo que necesito que esta pagina herede la clase pagina_base, pero si quito lo que hereda por defecto la pagina no funciona, agradezco sus comentarios
Código (vbnet) [Seleccionar]

Public Class inciso3
    Inherits System.Web.UI.Page
#108
no soy tan experto, pero pienso que deberias poner un punto de interrupcion donde agregas los valores a los parametros y ver el flujo de ejecucion, para ver cual es el valor del segundo parametro que esta ingresando, puede que se este esperando un int y este ingresando un string
Código (vbnet) [Seleccionar]

cmd.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));'verificar tipo de dato de idCursoMateria
#109
hola a todos, estoy llenando un dropdownlist desde un procedimiento almacenado
con un dataset, solo que al cargarlo aparece el primer item, por lo que necesito
que al cargar aparezca un espacio vacio  y despues los items,
Código (vbnet) [Seleccionar]

lsttabla.DataSource = tabla.empleados
        lsttabla.DataValueField = "CODE"
        lsttabla.DataTextField = "NAME"
        lsttabla.DataBind()

y aqui la parte del metodo que estoy llamando
Código (vbnet) [Seleccionar]

Dim ds As DataSet
        Try
            con = New ConectDatos
            Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
            Dim param1 As OracleParameter = New OracleParameter("ResCursor", OracleDbType.RefCursor)
            param1.Direction = ParameterDirection.Output
            listaParam.Add(param1)
            ds = New DataSet
            ds = con.getdataset("USP_CARGA_EMPLEADO", listaParam)
            Return ds
#110
bueno hay cosas que no se aclaran en los tutoriales, pero hay que ir listando las opciones implicitas de los diferentes metodos, el procedimiento ejecuta query le hacian falta un par de lineas para que funcionara, no entiendo porque para retornar un dataset no se necesita esas lineas
Código (vbnet) [Seleccionar]

Public Function EjecutarQuery(ByVal spName As String, ByVal parameters As List(Of OracleParameter)) As Integer
        Dim cmd As OracleCommand
        'Dim row As Integer                                  'List(Of OracleParameter)
        Try
            Using conexion()
                conexion.Open()
                cmd = New OracleCommand(spName, conexion)

                cmd = conexion.CreateCommand()

                If Not parameters Is Nothing Then
                    cmd.CommandText = spName
                    cmd.CommandType = System.Data.CommandType.StoredProcedure
                    For Each p In parameters
                        cmd.Parameters.Add(p)
                    Next
                End If
                cmd.Connection.Open()
                If cmd.ExecuteNonQuery() Then
                    Return 1
                Else
                    Return 0
                End If
            End Using

        Catch ex As Exception
            Throw New ArgumentException("No se logro ejecutar la consulta en la DataBase " + ex.Message.ToString)
        End Try
    End Function