如何在 SQL 查询中使用扫描变量(条形码)

How can I use a scanned variable (Barcode) in an SQL query

我正在尝试将扫描的条形码用作 SQL 查询中的变量。我正在使用 Google 机器学习套件 Quick Start 项目。我有一个使用 jtds1.3.1 制作的连接和查询功能。我只是无法获得要在查询中使用的原始值。

扫描完条码后,如何使用原始值调用查询函数? 每次扫描条形码时如何将原始值存储在变量中?

override fun onSuccess(
        originalCameraImage: Bitmap?,
        barcodes: List<FirebaseVisionBarcode>,
        frameMetadata: FrameMetadata,
        graphicOverlay: GraphicOverlay
    ) {
        graphicOverlay.clear()

        originalCameraImage?.let {
            val imageGraphic = CameraImageGraphic(graphicOverlay, it)
            graphicOverlay.add(imageGraphic)
        }

        barcodes.forEach {
            val barcodeGraphic = BarcodeGraphic(graphicOverlay, it)
            graphicOverlay.add(barcodeGraphic)
        }
        graphicOverlay.postInvalidate()
    }

您可能想要这样的东西:

override fun onSuccess(
        originalCameraImage: Bitmap?,
        barcodes: List<FirebaseVisionBarcode>,
        frameMetadata: FrameMetadata,
        graphicOverlay: GraphicOverlay) {

    String barcodeValue = barcodes.get(0).getRawValue();

    PreparedStatement stmt = dbConnection.createStatement("insert into scanned_barcodes(barcode) values (?)");
    stmt.setString(1, barcodeValue);
    stmt.execute();
}

扫描的条码在barcodes列表中。可以使用 getRawValue().

访问该值

其余代码为常规JDBC代码:创建语句,绑定当前值并执行。