Red de conocimiento informático - Conocimiento del nombre de dominio - ¿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.

¿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.

Quieres simular pagos móviles. En un sistema real, la base de datos del banco es definitivamente intocable.

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)

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.