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 - estebanvr

#1
Buen día, quería ver la posibilidad de que algún usuario me orientara en el tema de los procedimientos almacenados en Postgresql, les detallo un poco como esta la situación:

-El servidor de es un ubuntu server 12.04 y la versión del postgresql es la 9.4
-El pgAdmin III se conecta desde Windows 7 a la maquina virtual, hasta ahora todo bien con la comunicación, ya tengo instalado el odbc para postgresql

Ahora quería implementar la creación de sp, pero no existen, lo más parecido son las funciones, entonces investigué un poco y si logré crear una función, pero no se como rayos hacerle el llamado, tengo algo asi:

__________________________________________________________________

select "Procesa_Trama_v2" ('hola soy una cadena');
__________________________________________________________________

Pero el pgAdmin me lanza un error y no tengo idea porque:


ERROR:  function Procesa_Trama_v2(unknown) does not exist
LINE 1: select "Procesa_Trama_v2" ('hola soy esteban');
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

********** Error **********
__________________________________________________________________

Acá les muestro la función que hice, en realidad es muy sencilla, se le ingresa como parámetro una cadena, y devuelve la misma, más su largo:

__________________________________________________________________
CREATE OR REPLACE FUNCTION Procesa_Trama_v2(Hilera_Entrada text)
  RETURNS text AS
$BODY$
        BEGIN
              Select Hilera_Entrada, LENGTH('Hilera_Entrada');
        END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION Procesa_Trama_v2(text)
  OWNER TO postgres;
__________________________________________________________________


Espero me puedan ayudar, por que me estoy volviendo loco, saber si la función esta correcta y como realizar el llamado de manera efectiva.

!Saludos! y gracias por leer la pregunta =)
#2
Buenas, tengo el siguiente problema espero por favor me puedan ayudar, me estoy volviendo loco.

Resulta que tengo una aplicacion en vb.net usando visual 2010, y para la parte de las facturas utilizo reporting services, el control que alberga mis reportes es un reportviewer, es necesario pre visualizar el reporte antes de imprimirlo, bien, resulta que cuando quiero mandarlo a imprimir con el botón para imprimir que viene en el tooltip del reportviewer, me muestra el printdialog, pero este trae deshabilitadas las opciones para seleccionar la "pagina actual" y la de "selección", en la parte de intervalo de paginas, osea que solo viene habilitada la de "todos" y no me conviene que se impriman todas las paginas a la veces, ya que se tratan de facturas, lo ideal seria una a la ves y que esta sea selecciona por el usuario con al opcion de "pagina actual", pero como rayos hago, si la opción viene desabilitada por defecto.

Espero me puedan dar una mano. Saludos
#3
Al fin, Resuelta por mi XD

Código (vbnet) [Seleccionar]

     public Lib_Conexion(string Cadena_Conexion) {
        this.Cadena_Conexion = Cadena_Conexion;
    }


Asi quedaria mi clase con la cual realizo la conexion:


Código (vbnet) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data .SqlClient ;
using System.Data.SqlTypes;
using System.Data;

namespace Lib_BaseDatos
{

    public class Lib_Conexion
    {
         SqlConnection BD = new SqlConnection();
        string Cadena_Conexion="";

        private void Conectar_BD()
        {
            BD.ConnectionString = Cadena_Conexion;
            BD.Open();
        }

        void Desconectar_BD()
        {
            BD.Close();
        }

        public void Sql_Ejecuta_Instruccion(string Sqlinstruccion)
        {
            Conectar_BD();
            SqlCommand Comando = new SqlCommand(Sqlinstruccion, BD);
            Comando.ExecuteNonQuery();
            Desconectar_BD();
        }

        public void Llenar_Ds(System.Data.DataSet Ds, string Sqlinstruccion)
        {
            Conectar_BD();
            SqlDataAdapter Adaptador = new SqlDataAdapter(Sqlinstruccion, BD);
            Adaptador.Fill(Ds);
            Desconectar_BD();
        }

        public Boolean Dato_Repetido(string Tabla, string PrimaryKey, string Valor) {
            string sqlinstruccion="";
            DataSet ds = new DataSet();

            sqlinstruccion = "select * from " + Tabla + " where " + PrimaryKey + " = '" + Valor + "'";
           
           Llenar_Ds (ds, sqlinstruccion );
           
            if(ds.Tables[0].Rows .Count > 0){
             
                return true;
            }
            else
                {
                return false;
                }     
        }

        public string Averigua_Consecutivo(string Tabla, string PrimaryKey) {
            string sqlinstruccion = "";
            DataSet ds = new DataSet();

            sqlinstruccion = "select isnull (max(" + PrimaryKey  + "),0) + 1 from " + Tabla ;
            Llenar_Ds(ds, sqlinstruccion);

            return ds.Tables[0].Rows[0].ItemArray [0].ToString ();
        }

         public Lib_Conexion(string Cadena_Conexion) {
        this.Cadena_Conexion = Cadena_Conexion;
    }
     }
}



y Asi hago una instancia de la clase:

Código (vbnet) [Seleccionar]

Lib_BaseDatos.Lib_Conexion BD = new Lib_BaseDatos.Lib_Conexion("Aqui va el string connection XD");

#4
Hola resulta que tengo un pequeño inconveniente a la hora de pasar un constructor en VB.NET a C#, el cual se encarga de pasar la cadena de conexion en una clase que tengo para la conexion a la base de datos, normalmente en VB.NET lo haria de la siguiente manera:

Código (vbnet) [Seleccionar]

Imports System.Windows.Forms
Public Class BD_Conexion
   Dim BD As New Data.SqlClient.SqlConnection
   Dim CadenaConexion As String

   Private Sub Conectar_BD()
       BD.ConnectionString = CadenaConexion
       BD.Open()
   End Sub

   Public Sub Desconectar_BD()
       BD.Close()
   End Sub

   Public Sub New(ByVal CadenaConexion As String)
       Me.CadenaConexion = CadenaConexion
   End Sub


End Class


Y a la hora de usar las funciones de mi clase lo haria de esta manera:

Código ( vbnet) [Seleccionar]

Friend BD As New Lib_Conexion.BD_Conexion("Aqui la cadena de conexion la cual se envia por medio del constructor")


Pero resulta que ahora estoy elaborando un proyecto universitario y no recuerdo ni encuentro por ningún sitio como hacer esto en C#.NET, agradecería que me echaran una mano.

Lo que tengo hasta el momento es esto

Código ( c#net) [Seleccionar]


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data .SqlClient ;
using System.Data.SqlTypes;
using System.Data;

namespace Lib_BaseDatos
{

   public class Lib_Conexion
   {
        SqlConnection BD = new SqlConnection();
       string Cadena_Conexion="";

       private void Conectar_BD()
       {
           BD.ConnectionString = Cadena_Conexion;
           BD.Open();
       }

       void Desconectar_BD()
       {
           BD.Close();
       }

       public void Sql_Ejecuta_Instruccion(string Sqlinstruccion)
       {
           Conectar_BD();
           SqlCommand Comando = new SqlCommand(Sqlinstruccion, BD);
           Comando.ExecuteNonQuery();
           Desconectar_BD();
       }

       public void Llenar_Ds(System.Data.DataSet Ds, string Sqlinstruccion)
       {
           Conectar_BD();
           SqlDataAdapter Adaptador = new SqlDataAdapter(Sqlinstruccion, BD);
           Adaptador.Fill(Ds);
           Desconectar_BD();
       }

       public Boolean Dato_Repetido(string Tabla, string PrimaryKey, string Valor) {
           string sqlinstruccion="";
           DataSet ds = new DataSet();

           sqlinstruccion = "select * from " + Tabla + " where " + PrimaryKey + " = '" + Valor + "'";
         
          Llenar_Ds (ds, sqlinstruccion );
           
           if(ds.Tables[0].Rows .Count > 0){
           
               return true;
           }
           else
               {
               return false;
               }    
       }

       public string Averigua_Consecutivo(string Tabla, string PrimaryKey) {
           string sqlinstruccion = "";
           DataSet ds = new DataSet();

           sqlinstruccion = "select isnull (max(" + PrimaryKey  + "),0) + 1 from " + Tabla ;
           Llenar_Ds(ds, sqlinstruccion);

           return ds.Tables[0].Rows[0].ItemArray [0].ToString ();
       }
    }}


Lo que no tengo idea es como usar un constructor para poder pasar mi cadena, lo estaba declarando de la siguiente manera:

Código ( vbnet) [Seleccionar]

    public new (string Cadena_Conexion){
   this .Cadena_Conexion= Cadena_Conexion;
   }


Pero me saltan multiples errores, espero me ayuden a traducir esa porcion de codigo,
saludos y gracias
#5
Cita de: satu en 10 Noviembre 2011, 23:29 PM
Hola

Para eso están los parámetros del main.

Código (cpp) [Seleccionar]

int main (int argc, char *argv[])


argc indica el número de parámetros del programa
argv[0] es el nombre del programa
argv[1] es el primer parámetro
argv[2] es el segundo parámetro
.
.
.

Saludos


Ok perfecto pero mi duda era mas asi:   

Friend ejecutable As String = My.Application.Info.AssemblyName.ToString()

Una función como esta en visual basic .net que averigua el nombre de si mismo,
Solo que no recuerdo como lograba eso en C

Gracias
#6
Hola, resulta que quería saber si existía una función o Api por la cual pudiera saber el nombre que tiene mi ejecutable, para que si uso algún metido para agregar mi aplicación al registro de Windows, ese ingreso sea mas dinámico y se ingrese con el nombre que tiene en ese momento y no uno que yo definiría en el momento en que este programando mi aplicación.

Espero me dar una mano y disculpen las molestias

Saludos¡
#7
Redes / Re: Ayuda a subnetear sin saber binario
13 Octubre 2011, 22:36 PM
Gracias por responder mi pregunta y tomarse el tiempo, voy a investigar un poco mejor, y en realidad no es tan difícil, lo que sucede es que no he practicado lo suficiente.

Aquí les detallo mas o menos que cual es la manera que estoy empleando, de seguro no es de el nivel de ustedes, pero así es como me lo están evaluando:

La direccion 10.0.0.0
La mascara: 255.0.0.0 (Clase A)
Con 8 host

-----------------------------------------------------------------------------------------

2 ^ 3= 8 + 2 (dirección de broadcast) = 10 (no puede ser 10 por la direccion ip)

2 ^ 4 = 16 > 8 (si se puede por que es mayor al numero de hosts requeridos)


Ahora se hace la tablita con las direcciones de subred, los rangos y las direcciones de broadcast

-----------------------------------------------------------------------------------------

Direccion de Subred           Rangos                         Broadcast            Mascara
10.0.0.16                        10.0.0.17   10.0.0.30        10.0.0.31    255.255.255.240
10.0.0.32                        10.0.0.33   10.0.0.46        10.0.0.47    255.255.255.240
10.0.0.48                        10.0.0.49   10.0.0.62        10.0.0.63    255.255.255.240
10.0.0.64                       


-----------------------------------------------------------------------------------------
Para sacar las direcciones de subred, agarro la primera ip y le sumo 16, al ultimo bit, y los voy acumulando

Para el primer rango un dígito mas que la dirección de subred, y para el segundo rango dos digitos menos que la direcciones de subred siguiente

Para el broadcast un dígito mas del ultimo bit del segundo rango

Asi era como me refería al hacerlo sin binario, si alguien tiene alguna critica o duda mis disculpas, soy nuevo en esto de las redes, y no es mi área favorita.

Y de nuevo. Gracias y Saludos¡



#8
Redes / Ayuda a subnetear sin saber binario
12 Octubre 2011, 21:04 PM
Hola y gracias por leer mi pregunta, resulta que tengo problemas con el subneteo, y he estado buscando por google, pero la única forma que viene explicado es aplicando binario y no tengo ni idea de como empezar, ademas el profesor no lo va a calificar de esa manera.

Quería ver si me podrían ayudar con algun link donde expliquen a subnetear host y redes, pero que no apliquen el subneteo usando binario, lo agradeceria montones que me muestren un ejemplito por este medio para tener una mejor idea.

Gracias por su tiempo, Saludos.


#9
Gracias por tomarse el tiempo, a los dos usuarios arriba de mi, voy a explorar ambas soluciones para ver en que ando mal

Saludos!
#10
PHP / Re: ¿Duda sobre como empezar en PHP?
5 Julio 2011, 22:24 PM
Gracias, voy a ver como me va