你能帮我用 mysql 表中的数据填充一个组合框吗?问题是表有一个iD
,一个名字和一个单位。但是在填充组合框时,我需要出现名称;在选择一个时,我真正需要的是该项目的 id。然后将该 id 保存在另一个表中,它是一个外键。我要调用组合框的表是产品类型之一,产品类型将在其中,以及它们的 ID、名称和单位。然后在另一张表中,我要填写的是产品本身,其中包含产品 ID、产品类型 ID 及其名称。
这是我的数据库的代码:
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema tiendapoo
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `tiendapoo` ;
-- -----------------------------------------------------
-- Schema tiendapoo
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `tiendapoo` DEFAULT CHARACTER SET utf8 ;
USE `tiendapoo` ;
-- -----------------------------------------------------
-- Table `tiendapoo`.`TipoProducto`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`TipoProducto` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`TipoProducto` (
`idTipoProducto` INT NOT NULL AUTO_INCREMENT,
`nombreTipo` VARCHAR(45) NOT NULL,
`unidad` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idTipoProducto`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`Producto`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`Producto` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`Producto` (
`idProducto` INT NOT NULL AUTO_INCREMENT,
`idTipoProducto` INT NOT NULL,
`nombre` VARCHAR(150) NOT NULL,
PRIMARY KEY (`idProducto`),
INDEX `fk_Producto_TipoProducto1_idx` (`idTipoProducto` ASC) VISIBLE,
CONSTRAINT `fk_Producto_TipoProducto1`
FOREIGN KEY (`idTipoProducto`)
REFERENCES `tiendapoo`.`TipoProducto` (`idTipoProducto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`Usuario`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`Usuario` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`Usuario` (
`idUsuario` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NOT NULL,
`apellidos` VARCHAR(150) NOT NULL,
`login` VARCHAR(45) NOT NULL,
`clave` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idUsuario`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`ProductoUsuario`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`ProductoUsuario` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`ProductoUsuario` (
`idProductoUsuario` INT NOT NULL AUTO_INCREMENT,
`idUsuario` INT NOT NULL,
`idProducto` INT NOT NULL,
PRIMARY KEY (`idProductoUsuario`),
INDEX `fk_ProductoUsuario_Producto_idx` (`idProducto` ASC) VISIBLE,
INDEX `fk_ProductoUsuario_Usuario1_idx` (`idUsuario` ASC) VISIBLE,
CONSTRAINT `fk_ProductoUsuario_Producto`
FOREIGN KEY (`idProducto`)
REFERENCES `tiendapoo`.`Producto` (`idProducto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_ProductoUsuario_Usuario1`
FOREIGN KEY (`idUsuario`)
REFERENCES `tiendapoo`.`Usuario` (`idUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`Almacen`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`Almacen` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`Almacen` (
`idAlmacen` INT NOT NULL AUTO_INCREMENT,
`codigo` VARCHAR(45) NOT NULL,
`nombreAlmacen` VARCHAR(150) NOT NULL,
`direccion` VARCHAR(150) NOT NULL,
PRIMARY KEY (`idAlmacen`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`ProductoAlmacen`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`ProductoAlmacen` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`ProductoAlmacen` (
`idProductoAlmacen` INT NOT NULL AUTO_INCREMENT,
`idProducto` INT NOT NULL,
`idAlmacen` INT NOT NULL,
`cantidad` DOUBLE(14,2) NOT NULL,
PRIMARY KEY (`idProductoAlmacen`),
INDEX `fk_ProductoAlmacen_Producto1_idx` (`idProducto` ASC) VISIBLE,
INDEX `fk_ProductoAlmacen_Almacen1_idx` (`idAlmacen` ASC) VISIBLE,
CONSTRAINT `fk_ProductoAlmacen_Producto1`
FOREIGN KEY (`idProducto`)
REFERENCES `tiendapoo`.`Producto` (`idProducto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_ProductoAlmacen_Almacen1`
FOREIGN KEY (`idAlmacen`)
REFERENCES `tiendapoo`.`Almacen` (`idAlmacen`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`Salida`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`Salida` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`Salida` (
`idSalida` INT NOT NULL AUTO_INCREMENT,
`fecha` DATE NOT NULL,
`hora` TIME NOT NULL,
`destino` VARCHAR(150) NOT NULL,
PRIMARY KEY (`idSalida`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendapoo`.`DetalleSalida`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tiendapoo`.`DetalleSalida` ;
CREATE TABLE IF NOT EXISTS `tiendapoo`.`DetalleSalida` (
`idDetalleSalida` INT NOT NULL AUTO_INCREMENT,
`idSalida` INT NOT NULL,
`idProductoAlmacen` INT NOT NULL,
`cantidadSalida` FLOAT NOT NULL,
PRIMARY KEY (`idDetalleSalida`),
INDEX `fk_DetalleSalida_ProductoAlmacen1_idx` (`idProductoAlmacen` ASC) VISIBLE,
INDEX `fk_DetalleSalida_Salida1_idx` (`idSalida` ASC) VISIBLE,
CONSTRAINT `fk_DetalleSalida_ProductoAlmacen1`
FOREIGN KEY (`idProductoAlmacen`)
REFERENCES `tiendapoo`.`ProductoAlmacen` (`idProductoAlmacen`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_DetalleSalida_Salida1`
FOREIGN KEY (`idSalida`)
REFERENCES `tiendapoo`.`Salida` (`idSalida`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
您的逻辑中必须有一个方法来调用表并将其带到如下列表中:
当您创建组合框控件时(听起来像 .net :)
然后在组合的动作事件中
希望它指导你...