• Domingo 28 de Abril de 2024, 20:35

Autor Tema:  Enviar Null De Vb A Procedimiento Mysql  (Leído 1227 veces)

silencioso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Enviar Null De Vb A Procedimiento Mysql
« en: Miércoles 24 de Octubre de 2007, 00:56 »
0
'visual basic 6.0 con mysql
'--------------------------

'----------------------------------------------------------------------------------------

USANDO EL VISUAL BASIC 6 CON EL MYSQL 5.0
el problema es el siguiente:

COMO PUEDO ENVIAR UN PARAMETRO NULO AL PARAMETRO DE  MYSQL
EN ESPECIAL POR LA FECHA, TEXTO Y TODOS LOS TIPOS !!
INTENTE CON DBNULL , NULL , EMPTY , ..............

E INTENTADO DE TODO PERO NADA QUE VER........ POR FAVOR AYUDENME ME ESTA TOMANDO MUCHO
TIEMPO EN RESOLVERLO......
GRACIAS POR SU ATENCION !!!

ESTE ES PARTE DEL CODIGO:



FORMULARIO CON EL
boton aceptar PARA PROCESAR EL INGRESO DE DATOS
POR EJEMPLO DE ARTICULOS, SE DARA EL CASO QUE TENGAN QUE EXISTIR  CAMPOS NULOS
EN ESA "TABLA"

PRIVATE SUB CMDACEPTAR_CLICK()
--------------------------------------------------------------------------------------------------------------
'nombre de procedimiento y cadena de parametros

CADENA = "'" & TXTCODIGO.Text & "','" & TXTDESCRIPCION.Text & "'," & dbnull & "," & x.value
Call RunProcedure("AGREGAR_ARTICULO", CADENA)

'EL EJEMPLO DE CADENA A REGISTRAR MEDIANTE EL PROCEDURE SERIA:  "'A0001','PENTIUM IV 3.2 GHZ",NULL,NULL)
'PERO ESTO FALLA AL QUERER GUARDAR

'-------------------------------------------------------------------------------------------------
END SUB




Sub RunProcedure(ByVal procedimiento As String, ByVal cadenadeparametros As String)

'Declara Variables
Dim Comando As New ADODB.Command
Dim Conjunto As New ADODB.Recordset
Dim CadenaSQL As String
'Termina declara Variables

'solo si la conexion a la bd es satisfactoria ...
If CONECTAR_DB("pymes", "localhost", "", "root", "mysql") = True Then

CadenaSQL = "CALL " & procedimiento & " (" & cadenadeparametros & ")"

Set Comando = New ADODB.Command
Comando.ActiveConnection = conn
Comando.CommandType = adCmdText
Comando.CommandText = CadenaSQL

'Aqui ejecutamos el SP y obtenemos los datos
Set Conjunto = Comando.Execute

'Conjunto.Close
Set Comando = Nothing
conn.Close
Set conn = Nothing

End If

end sub


'-------------------------------------------------------------------------------------------
'en mySQL tengo el siguiente procedimiento almacenado

DELIMITER $$

DROP PROCEDURE IF EXISTS `pymes`.`AGREGAR_ARTICULO` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `AGREGAR_ARTICULO`(
IN CODART VARCHAR(12),
IN NOMART VARCHAR(45),
IN CODFAM VARCHAR (12),
IN FECHAALTA DATE
)
BEGIN

INSERT INTO ARTICULOS
(CODART,NOMART,CODFAM,FECHAALTA)
VALUES
(CODART,NOMART,CODFAM,
FECHAALTA);

END $$

DELIMITER ;