¿Cómo escribir un programa de pago móvil usando VB? Primero es necesario establecer tres bases de datos de usuarios, comerciantes y bancos. Ya las he establecido.
Al ser una simulación, es mucho más sencillo. "Transferir" significa restar dinero de una cuenta y agregarlo a otra cuenta. Debido a que el usuario/comerciante y la cuenta bancaria son tablas separadas, se requieren consultas de combinación de tablas.
Como no sé qué base de datos estás usando, no escribiré sobre cómo conectarte a la base de datos. El módulo 3 de usuario, banco y comerciante son las tres tablas de la base de datos en la situación actual: sus campos clave son los siguientes:
Tabla de usuario: número de teléfono móvil y número de tarjeta (número de tarjeta de cuenta bancaria) p>
Tabla de comerciantes: número de comerciante y número de tarjeta (número de tarjeta de cuenta bancaria)
Cuenta bancaria: número de tarjeta, saldo de cuenta
Dim cnn como el nuevo ADODB. Relación
Atenuar primero como nuevo ADODB. Recordset
Atenuar rsAccount como nuevo ADODB. Recordset
Inicializa la variable cnn y conéctate a la base de datos.
Consultar saldo. Consulta el saldo del usuario cuyo número de teléfono móvil es "12345678900". Aquí, por defecto, un número de móvil corresponde a una cuenta
Primero. Abra Seleccionar saldo de cuenta de la tabla de usuarios de conexión de cuenta bancaria en la cuenta bancaria. Número de tarjeta = tabla de usuarios. El número de tarjeta donde se encuentra la tabla de usuarios. Número de teléfono móvil = ' "123 45678900 ' ", CNN, AdopenForwardly, AdLockReadOnly, Adcmdtext.
Si primero, Recordcount=0, entonces
' Msgbox '¡El número de tarjeta correspondiente a este teléfono móvil no existe! "
Otro
Mostrar saldo primero. Campo ("Saldo de cuenta")
Terminará si...
primero.Cerrar
Transferencia de pago, del usuario A (número de teléfono móvil 12345678900) al comerciante B (número 222).
El resultado es
Abrir "Seleccionar cuenta bancaria". El número de tarjeta de la cuenta bancaria se agrega a la tabla de usuarios de la cuenta bancaria. Número de tarjeta = tabla de usuarios. El número de tarjeta donde se encuentra la tabla de usuarios. Número de móvil = ' 123 45678900 ', CNN, AdopenForwardly, AdLockReadOnly, Adcmdtext.
Si primero. Entonces Recordcount=0
El número de teléfono móvil no existe o el número de tarjeta no existe.
' Else 'Modificar saldo
RsAccount. Abra "Seleccionar saldo de cuenta de la cuenta bancaria donde número de tarjeta = '" y Rst. campos("número de tarjeta")&"",cnn,adOpenKeyset,adLockOptimistic,adCmdText
RsAccount. Campos("Saldo de cuenta")=rsCuenta. Campo("Saldo de cuenta") - 500.
rsCuenta. Actualización
rsAccount.close
Terminará si...
Transferencia. Del mismo modo, por defecto, un número de comerciante corresponde a una cuenta bancaria.
Primera. Abra "Seleccionar cuenta bancaria. El número de tarjeta en la cuenta bancaria se agrega a la tabla de comerciante en la cuenta bancaria. Número de tarjeta = tabla de comerciante. El número de tarjeta donde se encuentra la tabla de comerciante. Número = '222', CNN, AdopenForwardly, AdLockReadOnly, Adcmdtext.
Si es el primero, entonces Recordcount=0
La cuenta no existe o el número no existe
'De lo contrario'Modificar saldo
Abra "Seleccionar de cuenta bancaria. Saldo de cuenta donde CardNumber = '"&Rst.Field("CardNumber")&"",cnn,adOpenKeyset,adLockOptimistic,adCmdText
RsAccount.
Campos("Saldo de cuenta")=rsCuenta. Campo("Saldo de cuenta")+500.
rsCuenta. Actualizar
rsAccount.close
Terminará si...
El código anterior no está optimizado y es un método general. Algunos detalles deben ser perfeccionados por usted mismo, como el manejo cuando el saldo es insuficiente, como el manejo cuando el usuario ha realizado una transferencia y hay un error al transferir dinero al comerciante.
Por lo general, en los sistemas de transferencia reales, es necesario asegurarse de que tanto la transferencia de salida como la de entrada se completen. Si ocurre un error, se cancela toda la operación. Utilice el siguiente método de cnn para iniciar una transacción de base de datos (por supuesto, de acuerdo con los requisitos de su maestro, puede ignorarlo si los requisitos no son altos):
Cnn. BeginTrans, iniciar un negocio. Llamado antes de modificar el saldo.
Cnn. CommitTrans confirma la transacción. Se llama después de modificar el saldo (tenga en cuenta que se completan tanto la transferencia de salida como la de entrada).
Cnn. RollbackTrans cancela la transacción. Normalmente se utiliza en controladores de errores para cancelar cambios anteriores en un registro.