Visual Basic - pasar parametros nulos de vb a mysql en procedures

Life is soft - evento anual de software empresarial
 
Vista:

pasar parametros nulos de vb a mysql en procedures

Publicado por oscar (2 intervenciones) el 24/10/2007 00:23:36
'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 ;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder