Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Leer codigo de barras

Estas en el tema de Leer codigo de barras en el foro de Mysql en Foros del Web. Buenos días, tengo un pequeño problema estoy creando un programa con el cual necesito utilizar un lector de códigos de barras y lo almacene en ...
  #1 (permalink)  
Antiguo 22/04/2014, 07:53
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Leer codigo de barras

Buenos días, tengo un pequeño problema estoy creando un programa con el cual necesito utilizar un lector de códigos de barras y lo almacene en mi base de datos, el problema es que no se de que tipo declarar mi variable para que acepte símbolos, letras y números. Espero pronta respuesta, gracias de antemano.
  #2 (permalink)  
Antiguo 22/04/2014, 07:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

VARCHAR, VARCHAR2, según sea el DBMS que usas.
La longitud dependerá de la longitud del codigo a leer. No todos los tipos de codigo tienen igual numero de caracteres.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/04/2014, 08:00
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Ya utilice VARCHAR pero solo lee los que tienen letras numeros y el unico simbolo que acepta es el punto (.), necesito que me lea también / - _ entre otros.
  #4 (permalink)  
Antiguo 22/04/2014, 08:04
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Se me olvido mencionar que utilizo es mysql
  #5 (permalink)  
Antiguo 22/04/2014, 08:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

Un VARCHAR acepta todo tipo de caracteres. Si tienes problema con alguno no es producto del tipo de campo, sino de la forma en que lo ingresas.
Si estás usando un formulario o una aplicación, verifica que no sea un etxtbox exclusivo para numeros.
¿Es una interfaz programada por ti, o qué usas para pasarlo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 22/04/2014, 08:15
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Estoy agregándolos directamente a la base de datos.
  #7 (permalink)  
Antiguo 22/04/2014, 08:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

La única forma de agregarlos "directamente" es usando SQL puro, caso en el cual existen dos modos:
Código MySQL:
Ver original
  1. INSERT INTO TABLA(campo)
  2. VALUES(12345678.91/3)
Y:
Código MySQL:
Ver original
  1. INSERT INTO TABLA(campo)
  2. VALUES('12345678.91/3')
En el primer caso estás metiendo el resultado de una operación aritmética, no una cadena. MySQL realiza la operación y luego realiza el insert con el resultado.
En el segundo SI es una cadena de texto, y MySQL lo inserta tal y como está.

¿Cómo lo estás haciendo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 22/04/2014, 12:11
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Simplemente pistoleo el codigo directamente en la base de datos.
  #9 (permalink)  
Antiguo 22/04/2014, 12:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

Postea la query usada tal y como la escribes, y postea también una imagen de lo que estás haciendo, porque lo que dices no es posible que tenga relación con el tipo VARCHAR. Esa no es una restricción del tipo de columna.

Postea lo que pido. Una descripción es insuficiente para saber cómo estás haceindo.

Para que quede claro: MySQL no recibe datos directamente de un lector de barras, porque los lectores de codigos de barra trabajan con el Clipboard.
¿Lo estás poniendo de qué forma y con qué interfaz?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 22/04/2014, 13:12
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Esta es la tabla que uso para agregar los datos en la bd, uso dreanweaver8

Cita:
Editado: Código de programación no permitido en foros de Bases de DAtos. Leer las normas del foro, por favor.
Este es mi codigo php

Código MySQL:
Ver original
  1. INSERT INTO datos (codigo0,codigo1,codigo2) VALUES ('$codigo0','$codigo1','$codigo2')

Necesito insertar estos 3 codigos 'INV.134622.12', '2311640101', '11/08/2008' los 2 primeros los acepta pero el ultimo no lo lee. No se si el problema sera el lector o la declaracion de la variable en la bd. Cuando pistoleo los 2 primeros codigos los lee pero el ultimo no. Espero ahora si haberme explicado mejor.
  #11 (permalink)  
Antiguo 22/04/2014, 13:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

Ahora se entiende un poco mejor, y como te insistía, no estabas ingresando SQL puro, sino a través de un programa. Es decir, no estás usando una consola de MySQL, o la vista de SQL del phpMyadmin para ingresarlo.

Bueno, empecemos por el principio:

- QUe uses Dreamweaver es irrelevante. Programación no es tema de este foro y las normas explícitamente dicen que no se postea ni se tratan temas de programación acá. Para eso están los foros de PHP o de Diseño Web.

- El problema que describes ahora no es con el código de barras, sino con la fecha, que no es lo mismo.

El tema es así: Si el campo de la fecha es un DATE o DATETIME, este formato es incorrecto:
Cita:
'11/08/2008'
Las fechas, sin importar cómo las tomas en el programa, deben entrar en la base de este modo: "AAAA-MM-DD".
¿Se entiende?
Simplemente, en tu php, reformateas la fecha para que dentro del query en SQL quede así: '2008-11-08'.
En el foro de PHP te pueden explciar como hacer eso en PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 22/04/2014, 13:27
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

El problema es que al tratar pistolear códigos de ese tipo o como este 30-88004-001 no los almacena en la bd.
El código que agregue anteriormente no es una fecha es el código de un producto.
  #13 (permalink)  
Antiguo 22/04/2014, 13:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

Hagamos una cosa: "pistolea" sobre el Notepad de Windows y sobre una hoja de Word o cualquier otro editor que tengas. Si el código que lees se muestra, el problema lo tienes en la aplicación, como te digo, y sería tema de programación o al menos allí es donde se está generando el conflicto.
Si el código no se muestra ni siquiera en el Notepad, el lector no lo está reconociendo (no nos olvidemos que cada lector tiene preseteados los tipos de codigos que puede reconocer).
En cualquier caso, insisto no es una restricción del tipo de dato VARCHAR (ver manual de referencia).


Para mayor seguridad, ¿podrías ejecutar esto y postear aquí el resultado?:
Código MySQL:
Ver original
  1. SHOW CREATE TABLE nombredetutabla
Donde "nombredetutabla" es el nombre de la tabla donde estás intnetando hacer el INSERT.

Nota: El objetivo de esta consulta es solamente que nosotros podamos comprobar exactamente cómo es la tabla que estás usando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 22/04/2014, 14:10
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Ya probé pistoleando en una hoja de word y tampoco lo lee, he usado 2 lectores diferentes e igual no lo reconoce.

SHOW CREATE TABLE datos (
`codigo0` varchar(50) ,
`codigo1` varchar(50) ,
`codigo2` varchar(50) )
  #15 (permalink)  
Antiguo 22/04/2014, 14:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

Cita:
Ya probé pistoleando en una hoja de word y tampoco lo lee, he usado 2 lectores diferentes e igual no lo reconoce.
Entonces el problema está fuera de la base de datos.
Si no lo reconoce, lo que tienes es un problema con el código en sí.
¿Qué código es?
Me refiero a cuál de los estándares de código de barras estás intentando leer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 24/04/2014, 08:06
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Codigo 128
  #17 (permalink)  
Antiguo 24/04/2014, 08:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras

¿Y de dónde sacas las muestras?

Quiero que te quede claro una cosa, y esto te lo digo por experiencia propia testeando software que usa lectores de barras manuales (la famos "pìstola"): Si no te pone el código leído en el Block de notas de Windows, es que no te funciona la pistola, o no la reconoce tu computadora.
pero eso no es un problema de la base de datos.
Verifica el hardware (la "pistola"), y verifica tu software de toma de datos. No culpes a la base por cosas que no tienen que ver con ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 25/04/2014, 07:49
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

De los productos que se van a agregar al inventario.
Si ya había pensado esa posibilidad, buscare la configuración del lector o en su defecto buscare otro.
Gracias
  #19 (permalink)  
Antiguo 08/05/2014, 09:20
 
Fecha de Ingreso: abril-2014
Mensajes: 35
Antigüedad: 10 años
Puntos: 0
Respuesta: Leer codigo de barras

Cambie de lector y funciono.
  #20 (permalink)  
Antiguo 08/05/2014, 09:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Leer codigo de barras



Lo dicho. Algo no andaba bien, y no era la base...
Me alegro que lo hayas podido resolver (espero que no te saliese caro).

Gracias por darle un ciere al tema.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bases-de-datos-general
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:32.