代码之家  ›  专栏  ›  技术社区  ›  marc lincoln

使用用户输入在MySQL数据库中查找信息

  •  0
  • marc lincoln  · 技术社区  · 16 年前

    我需要使用python设计一个程序,该程序将向用户请求条形码。然后,使用这个条形码,它将搜索一个MySQL来找到它对应的产品。

    我有点拘泥于如何开始。有人给我小费吗?

    4 回复  |  直到 12 年前
        1
  •  4
  •   nosklo    16 年前

    使用 python-mysql . 这是一个 dbapi-compatible 用于与数据库对话的模块。

    import MySQLdb
    
    user_input = raw_input("Please enter barcode and press Enter button: ")
    
    db = MySQLdb.connect(passwd="moonpie",db="thangs")
    mycursor = db.cursor()
    mycursor.execute("""SELECT name, price FROM Product
                     WHERE barcode = %s""", (user_input,))
    
    # calls fetchone until None is returned (no more rows)
    for row in iter(mycursor.fetchone, None):
        print row
    

    如果你想要更高级的东西,考虑使用 SQLAlchemy 作为一个层。它可以让你做到:

    product = session.query(Product).filter(Product.barcode == user_input).scalar()
    print product.name, product.price
    
        2
  •  1
  •   BradC    16 年前

    条形码只是一系列字符(字母数字)的图形表示。

    因此,如果您有一种方法让用户输入这个代码(条形码扫描器),那么它只是查询mysql数据库中的字符串。

        3
  •  0
  •   adolfojp    16 年前

    这是一个非常模糊的问题。你想做的事情可以通过很多方式来完成,这取决于你真正想做的事情。

    您的用户将如何输入条形码?他们要用条形码扫描器吗?他们是手动输入条形码吗?

    这是要在台式机/笔记本电脑上运行,还是要在手持设备上运行?

    条形码扫描器是否存储条形码以备日后检索,或直接将其发送到计算机。它是通过USB电缆还是无线传输?

        4
  •  0
  •   seanb    16 年前

    首先,将条码输入视为纯旧文本。

    我用条码扫描器已经有很长时间了,但我怀疑它们已经发生了很大的变化,以前的扫描器只是依附在键盘输入上,所以从编程的角度来看,最终的结果是键盘缓冲区中的字符流,不管是键入的还是扫描的,都没有什么不同。

    如果目标设备与此不同,则在访问数据库查询之前,需要编写一些内容来处理此问题。

    如果你有一个设备可以玩,插入它,启动记事本,开始扫描一些条形码,看看会发生什么。