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

#21
Hola que tal ...hace unos días me estoy iniciando en el mundo de PHP y MySQL (ya que ya tengo tiempo desarrollando en .NET) y tengo las siguientes dudas...

1.   Como llamo a un MySQL stored procedure (SP)  con varios parámetros desde PHP??

He creado el siguiente SP

CREATE DEFINER = 'root'@'localhost' PROCEDURE `_Proveedores`(IN _TipoConsulta TINYINT, IN _IdProveedor INTEGER, IN _NombreCompania VARCHAR(40), IN _Direccion VARCHAR(60), IN _Telefono VARCHAR(24), IN _NombreContacto VARCHAR(30), IN _CargoContacto VARCHAR(30),IN _listaInicio INTEGER)
BEGIN


/*UPDATE*/
IF _TipoConsulta=1 THEN
UPDATE proveedores
   SET NombreCompañía = _NombreCompania,
       Dirección = _Direccion,
       Teléfono=_Telefono,
       NombreContacto = _NombreContacto,
       CargoContacto = _CargoContacto
WHERE IdProveedor=_IdProveedor;

/*LISTAR PROVEEDORES*/
ELSEIF _TipoConsulta=2 THEN
SELECT IdProveedor,NombreCompañía,Dirección,Teléfono,NombreContacto,CargoContacto
FROM proveedores LIMIT _listaInicio,5;

/*INSERT*/
ELSEIF _TipoConsulta=3 THEN
INSERT INTO proveedores
           (NombreCompañía
         ,Dirección
           ,Teléfono
           ,NombreContacto
           ,CargoContacto)
     VALUES
           (_NombreCompania
           ,_Direccion
           ,_Telefono
           ,_NombreContacto
           ,_CargoContacto);

/*DELETE*/
ELSEIF _TipoConsulta=4 THEN
DELETE FROM proveedores
WHERE IdProveedor=_IdProveedor;
END IF;

END;

El SP no me genera ningún error al compilarlo ...a simple vista si se entiende lo que deseo hacer no??
Bueno la cuestion es q este SP de acuerdo a los parámetros q se le pasen hara determinada cosa


En mi codigo PHP he intendado llamarlo dentro de una funcion asi:

...
...

$consulta="CALL _Proveedores(2,null,null,null,null,null,null,$listaInicio)";
      $resultado=mysql_query($consulta,$cnn);

        while ($registro=mysql_fetch_array($resultado))
      {
         $coleccion[]=$registro;
        }   
           
        mysql_close($cnn);
      
        return $coleccion;//esto seria lo q devuelve mi funcion

Y he obtenido el error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

Supongo que, o bien el SP esta siendo mal llamado...(tal vez no es con mysql_query) o estoy pasando mal los parámetros por lo q el SP no retorna ningun registro...

2.   Esta bien como asigno los parámetros al SP desde PHP??

Al llamar al SP este deberia devolverme un primer grupo de 5 Proveedores desde $listaInicio (x ejem si $listaInicio fuera 0  me devolveria los primeros 5 Proveedores ) y estos ser guardados en $coleccion

3.   Necesariamente  tengo que especificar los otros parámetros como null??

Estos parámetros innecesarios (en esta funcion) deben ser pasados como null desde el codigo PHP?? O desde el mismo SP?? ... (Como se haria esto ultimo??)

Por ejem en . NET yo hago lo siguiente (Disculpas por poner este codigo .NET pero es solo con motivos a un mayor entendimiento a mi consulta ...si se desea tal vez dsps se puede borrar jejeje )

CREATE proc [dbo].[_Proveedores]
@Tipoconsulta tinyint=null,
@IdProveedor int=null,
@NombreCompañía nvarchar(40)=null,
@Dirección nvarchar(60)=null,
@Teléfono nvarchar(24)=null,
@NombreContacto nvarchar(30)=null,
@CargoContacto  nvarchar(30)=null
as

--UPDATE
if @Tipoconsulta=1
Begin
UPDATE Proveedores
   SET [NombreCompañía] = @NombreCompañía,
       [Dirección] = @Dirección,
       [Teléfono]=@Teléfono,
       [NombreContacto] = @NombreContacto,
       [CargoContacto] = @CargoContacto


WHERE IdProveedor=@IdProveedor
End

--LISTAR PROVEEDORES
else if @Tipoconsulta=2
begin
SELECT IdProveedor,NombreCompañía,Dirección,Teléfono,NombreContacto,CargoContacto
FROM Proveedores
End

...etc
...etc

En este caso los parámetros del SP se pasan como null desde el mismo SP, esto me hace q al llamar el SP desde (x ejem) ASP.NET ya no declare como null todos los demas parámetros que no necesito para determinada funcion , es decir para listar todos los Proveedores solo tendria q pasarle el @Tipoconsulta=2 y el olvidarme del resto de param

En MySQL los parametros de los SP no llevan @ no??

Por lo dicho anteriormente mi funcion lo llamaria al SP de la sigte manera (desde ASP.NET con C#):

...
...

SqlCommand consultasql = new SqlCommand("_Proveedores", cnn);
consultasql.CommandType = System.Data.CommandType.StoredProcedure;
consultasql.Parameters.Add("@Tipoconsulta", System.Data.SqlDbType.TinyInt).Value = 2;

...
...

Con esto ya no se tendria q poner null a todos los demas parametros q no son utilizados 

Creo q con todo esto se entendio lo q desearia poder hacer pero con MySQL y PHP...es esto posible???...un poco de orientación (o regaño por pensar en hacer cosas q no se pueden hacer jejeje) no me vendria nada mal 

...gracias por todo de antemano

Salu2 
#22
Holas gente tengo un problema... lo que pasa es q tengo un procedimiento shared dentro de mi clase y en este sub modifico la propiedad de un control de mi formulario y al llamarlo no me modifica la propiedad...el codigo q tengo es algo asi

En el frmPrincipal tengo un picturebox llamado pbMiPicturebox
Tengo un archivo de recursos llamado misImagenes en donde tengo mis fotos
y tengo una clase llamada miClase y dentro de ella tengo un sub llamado imagenPb

public class miClase
   public shared sub imagenPb(pb as picturebox)
      frmPrincipal.pb.image=My.resource.misImagenes.Foto
   end sub
end class

dentro del frmPrincipal llamo a este sub dentro del evento click de un boton

...
miClase.imagenPb(pbMiPicturebox)
...

y con esto supuestamente deberia de poner mi foto en el pbMiPicturebox pero nada, este aparece vacio...

Es obvio q si en vez del sub pongo directamente este codigo dentro del evento clic

pbMiPicturebox.image=My.resource.misImagenes.Foto

si funciona...

A q se debe esto????

#23
Holas gente ... estoy buscando un programa para que me ayude hacer esto, lo q pasa es q no tengo internet en casa y tengo q estar llendo a cabinas para transformar algunos codigos :-/
En internet utilizo esta pagina, de otras tantas http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
pero como les digo hay veces en q tengo q trabajar en casa y no tengo mucho tiempo para ir a las cabinas :S

gracias por todo de antemano
#24
Holas gente q tal ...tengo un problema

Lo q pasa es q necesito hacer el script de toda una base de datos es decir SPs, Triggers, Tablas (con todos sus datos) y demas... incluida la misma Base de datos, es decir q me cree un script q al copiarlo, pegarlo y ejecutarlo en una nueva consulta me Cree todo desde la base de datos y todo lo q contiene (incluyendo las tablas con todos sus datos)

He encontrado algunas cosas pero no me hacen el script de todo...solo hacen el scrpit de algunas cosas... ademas no me permitian seleccionar las cosas a las cuales yo queria q sacara el script

Si me pudieran ayudar por favor ...q es urgente...gracias por todo de antemano
#25
Holas gente!! tengo el sgte problema

Tengo un DGV q le he agregado algunas columnas antes de llenarlo con datos
La llenada del DGV esta en el evento Click del btnLlenar y este es el code

MsgBox(dgvCargo.Columns(0).DisplayIndex.ToString)
MsgBox(dgvCargo.Columns(1).DisplayIndex.ToString)

dgvCargo.DataSource = ComponenteDatos.cargoDALC.Instancia.ListarCargos

MsgBox(dgvCargo.Columns(0).DisplayIndex.ToString)
MsgBox(dgvCargo.Columns(1).DisplayIndex.ToString)


(Los msgbox son para verificar los indices de las columnas)
el primer msgbox me muestra como indice de la 1era columna un cero(0)
y el 2do msgbox me muestra como indice de la 2da columna un uno(1)

hasta ahi todo bien me muestra los indices como deben ser...

pero despues de llenarlo con el datasource los sgtes msgbox me muestran 1 y 0 respectivamente y no 0 y 1 como deberia ser...es decir me cambia internamente los indices de las columnas del DGV...xq sucede esto???...como puedo solucionarlo??


gracias por todo de antemano :)
#26
Citarno crees que es mejor saber hacerlo pogramando y aprender, en vez de usar programitas que hacen milagros ??
pues si todos pensaran asi seguiriamos con el assembler... jeje  ;D...pero si tienes razon en algo...con esos programas como q no aprendemos mucho a programar...sino preguntale al VS.NET...jeje
#27
Holas gente!!!...ya resolvi el problema...agrege el componente "Microsoft Forms 2.0 object libray" y agrege al formulario el textbox q brinda este componente...y puede ver los caracteres tal y como en wrod  ;D ... por cierto tb tuve q leerme algo sobre los unicodes y utf-8...todo muy interesante!!!...encontrando unas tablas con todos los caracteres habidos y por haber con sus respectivos codigos hexa...con estas 2 cosas puede hacer lo q no podia al comienzo del post...muchas gracias por todo...
#28
unicodes??...como asi??? :rolleyes:
#29
ya use el richtextbox y nada :huh:

el tipo de letra es times new roman todas las pc la tienen no?... ;D

ademas la imagen del word es de la misma pc de la del vb6...osea la mia  :)
#30
holas gente!!!...tengo un problemita...como hago para poder ver estos caracteres (q si los puedo ver en word) en un text de vb6??



ya q si los pongo en un text me sale esto...



a q se debe esto???...hay alguna forma de hacer q en un programa de vb6 se vean estos caracteres iguales q en el word???...algun control especial???


gracias por todo de antemano...