Tabla de productos comprados para mostrar como JSON

SQL: obtener varias filas de subconsulta en una sola, simulando JSON para agrupar

Hace tiempo te mostré cómo “encapsular” varias filas de datos en una sola fila usando JSON con PostgreSQL y las funciones que de JSON que este motor ofrece.

Hoy te enseñaré a obtener varias filas “comprimidas” dentro de una fila simulando un JSON concatenando los resultados, por lo que será compatible con varios motores de bases de datos.

En pocas palabras ingresaremos un arreglo de filas en una fila, agrupando varias filas en una sola, o mejor dicho, colocar resultados de una subconsulta como JSON.

(más…)

Usar dispositivo Android como servidor de sistema de ventas

Compilar Sublime POS 3 en Android

En este post te mostraré cómo puedes usar Sublime POS 3 (punto de venta) en Android compilando por ti mismo el código fuente.

Al final vas a poder usar el sistema nativamente y en modo local en una tableta o teléfono, además de que podrás usarlo como servidor y permitir que otros dispositivos se conecten al mismo.

Por lo tanto, si cuentas con el source code de este sistema de ventas podrás usarlo nativamente en Android sin depender de un servidor, y podrás usarlo en teléfonos o tabletas.

(más…)

Agregar columna a tabla si no existe en SQLite3 con Golang

En el tutorial de hoy te mostraré una pequeña función que te permite agregar una columna a una tabla solo si la misma no existe.

El motor de base de datos que vamos a usar será SQLite3 pero me imagino que debe funcionar para otros como PostgreSQL o MySQL.

Esto es necesario porque en ocasiones el cliente no puede hacer los cambios a la base de datos (no puede ejecutar sentencias SQL) y además se desean conservar los datos ya existentes.

Por ello es que hoy veremos cómo agregar una columna a una tabla conservando sus datos, y agregarla solo si no existe, verificando la tabla con PRAGMA en SQLite3.

(más…)

Guardar números de teléfono en base de datos

En este post vamos a hablar sobre cómo guardar números telefónicos, teléfonos o números de teléfono en las bases de datos, enfocándonos en el tipo de dato.

Esto va a responder a la pregunta de ¿Cuál tipo de dato usar para guardar números de teléfono?.

Lo expuesto aquí es mi opinión y sugerencia, pero al final puedes hacer lo que gustes. Aunque la respuesta parezca obvia, he visto que varios usuarios preguntan esto y por eso he decidido hacer este post.

(más…)

Ganancias por día y por mes en programa gratuito para renta de consolas

Sistema gratuito para renta de consolas de videojuegos

En este post te mostraré un programa que he terminado de hacer y que es totalmente gratuito. Se trata de un software para rentar consolas de juegos o computadoras por tiempo y cobrar por ese tiempo, con opción para agregar productos adicionales a la renta.

El sistema gratuito te ayudará si tú tienes un negocio de renta de consolas de juegos o tienes un cibercafé. De cierto modo esto podría ser una alternativa a CafeStation de CafeSuite o Control de Ciber.

Este sistema permite registrar equipos como consolas de juegos o computadoras con precio por hora, colocar tiempo libre o un tiempo límite y agregar productos al consumo de la renta.

Entre sus características se encuentran:

  • Control de dispositivos con descripción y precio por hora
  • Gestión de productos para vender, con descuento de inventario
  • Módulo para rentar consolas, computadoras, etcétera ya sea por tiempo libre o con límite
  • Escritorio con reporte de rentas y productos vendidos, así como gráficas de ventas y detalles
  • Ajuste de redondeo y tolerancia para el costo de la renta
  • Impresión de tickets en impresora térmica
  • Soporte para móviles
  • Opción para usar a través de la red de área local (LAN)

A lo largo de este artículo te mostraré los módulos del programa, cómo descargarlo y cómo usarlo.

Por cierto, no es un post falso ni algo para distribuir virus. Realmente te ofrezco un programa totalmente gratuito (no versión demo, sin restricciones) tal y como todo lo que publico en mi blog.

(más…)

Abrir base de datos SQLite3 cifrada

Abrir base de datos SQLite3 cifrada

En este post te mostraré cómo abrir una base de datos de SQLite3 cifrada o protegida por contraseña (obviamente tomando en cuenta que cuentas con la clave de cifrado).

Suele pasar que intentamos abrir una base de datos de SQLite 3 cifrada, pero al abrirla con el programa DB Browser for SQLite3 nos marca el error de: file is not a database.

Esto sucede porque no se reconoce como una base de datos normal, ya que está cifrada. Así que hoy te enseñaré a explorar una base de datos de SQLite3 cifrada usando DB4S.

(más…)

Código fuente de sistema gratuito para Windows - Sublime POS 3

Código fuente de Sublime POS 3

Como bien sabes, hace algún tiempo liberé mi sistema de ventas para que sea gratuito para Windows. Si bien liberé el programa, no liberé el código. En este post te mostraré cómo obtener el código fuente y lo que te envío al comprarlo, así como los lenguajes con los que está hecho y todo ello.

Desde ahora te aclaro que te daré exactamente el mismo código fuente que uso para la versión que ya he publicado anteriormente.

(más…)

Escritorio de sistema de ventas - Mostrar resumen general

Sistema de ventas gratuito para Windows

En este post te mostraré un sistema de ventas gratuito para descargar, fácil de usar e instalar. Es más enfocado en el usuario final que en el programador.

No es un post falso ni nada de esas cosas. Realmente te enseñaré un sistema POS que he programado hace tiempo, compilado para Windows y empaquetado para que tú puedas descargarlo y comenzar a usarlo.

El sistema PDV que te enseñaré está pensado para comerciantes, dueños de negocios, tiendas de ropa, abarrotes, etcétera, pues solo necesita una computadora para ejecutarse.

Por cierto, si te lo preguntas, el sistema es uno que ya presenté anteriormente en la nube, solo que ahora lo quitaré de la nube y será gratis para descargar.

Nota: hoy 4 de mayo de 2022 he publicado la versión de este sistema para Android, igualmente es gratuita.

(más…)

Python y SQLite3 - Ejercicio de diccionario con palabras y su significado

Python – Diccionario de palabras y significados con SQLite3

En este post te enseñaré un ejercicio de programación simple con Python y la base de datos SQLite3. Se trata de implementar un diccionario de palabras en esta base de datos a través de una aplicación por consola.

El programa debe permitir agregar una nueva palabra con su significado, ver las palabras, editar el significado de una palabra, ver el significado de una palabra y eliminar una palabra.

Todas las palabras serán guardadas en una tabla dentro de una base de datos de SQLite3 usando Python, además de que no se van a permitir palabras repetidas.

Veamos cómo resolver este ejercicio de programación.

(más…)

Insertar si no existe en SQL

SQL – Insertar fila si no existe usando WHERE

En este tutorial de SQL te mostraré cómo insertar datos a una tabla solo si el dato no existe, es decir, insertar un dato únicamente una vez usando una subconsulta y WHERE.

Este tutorial aplica para SQL en general, es decir, debería funcionar en cualquier motor, pero solo he podido probarlo en MySQL y SQLite 3.

Nota: no olvides que REPLACE INTO e INSERT IGNORE (o INSERT OR IGNORE) tienen similitudes con este método.

(más…)

Explorando base de datos Android desde el navegador

Depurar bases de datos SQLite en Android

Cuando se quieren depurar bases de datos en Android no la tenemos fácil, pues Android no ofrece una manera nativa y fácil de exportar o importar la base de datos de nuestra app.

En este post te mostraré una herramienta que te ayudará a visualizar y depurar las bases de datos SQLite en Android sin necesidad de ser root o instalar apps de terceros.

Únicamente debemos agregar la librería llamada Android-Debug-Database que personalmente me ha ayudado bastante al analizar o depurar bases de datos en Android.

(más…)