vb "Cuando se combinan formales y reales, los parámetros formales especificados usando byref siempre se combinan por dirección.""
Estos dos subprocesos especifican los parámetros a pasar
ByVal (por valor)
ByRef (por dirección) p >
Se puede entender así:
La lista de parámetros en el procedimiento almacenado se llama parámetro formal
La lista de parámetros al llamar al procedimiento almacenado se llama real parámetro
La lista de parámetros al llamar a un procedimiento almacenado se denomina parámetros formales. La lista de parámetros cuando se llama a un procedimiento almacenado se llama parámetros reales
Al llamar a un procedimiento almacenado, necesitamos pasar los valores de los parámetros reales a los parámetros formales para que el procedimiento almacenado pueda usar estos datos. para participar en cálculos e implementar ciertas funciones
Hay dos métodos de transferencia durante el proceso de transferencia.
Al pasar el valor (ByVal), se creará una dirección temporal para el parámetro formal y el contenido del parámetro real se transferirá a En la dirección temporal, el contenido del parámetro real se transfiere a la dirección temporal y luego el contenido del parámetro real se transfiere a la dirección temporal. De esta manera, después de pasar, los parámetros del formulario y los parámetros reales están en dos direcciones diferentes, es decir, independientes entre sí
PorRef, la dirección de los parámetros reales se pasa directamente a los parámetros del formulario, por lo que que los parámetros del formulario y los parámetros reales** ** Simplemente use una dirección, y el contenido del parámetro del formulario cambiará directamente al contenido del parámetro real. A través del análisis anterior, solo necesita recordar:
ByVal, los cambios en los parámetros formales no afectarán los parámetros reales
ByRef, los cambios en los parámetros formales afectarán los parámetros reales
Al aplicar, podemos usar el proceso de paso de direcciones para devolver parámetros al subproceso
Ejemplo:
Definir A como un número entero y B como un número entero
A=1
B=2
Llamar AAA(A, B)
Imprimir A, B 'resultado 2 3 (cambios en los parámetros formales afectará a los parámetros reales)
Llamar a BBB(A, B)
Pring A, B 'obtiene el mismo resultado que el anterior, 2 3 (los cambios en los parámetros formales no afecta los parámetros reales)
Sub AAA(I es un número entero, J es un número entero) 'Predeterminado, luego pasa por dirección
i=i 1
J=J 1
End Sub
Sub BBB(ByVal I como entero, ByVal J como entero)
i=i 1
J=J 1 p>
Fin Sub