QT表格初始化与数据库值插入(库存管理系统)

文章详细描述了如何在C++Qt应用中使用TableWidget控件进行初始化,设置列宽,以及根据用户输入执行SQL查询以动态填充表格数据的过程。
摘要由CSDN通过智能技术生成
void MainWidget::TableWidgetListDataFunc() // tablewidget表格控件初始化操作
{
    // 编号 名称 数量 单价 供应商家 负责人 入库时间 出库时间 备注

    // 设置表格控件200行9列
    ui->tableWidget_ListData->setColumnCount(9);
    ui->tableWidget_ListData->setRowCount(200);

    // 设置表格控件字体大小
    ui->tableWidget_ListData->setFont(QFont("宋体",13));

    // 设置表格控件标题(表头)
    ui->tableWidget_ListData->setHorizontalHeaderLabels(QStringList()<<"编号"<<"名称"<<"数量"<<"单价"<<"供应商家"<<"负责人"<<"入库时间"<<"出库时间"<<"备注");
}

 

void MainWidget::InitTableWidgetFunc() // 初始化表格控件列宽度
{
    ui->tableWidget_ListData->setColumnWidth(0,80);
    ui->tableWidget_ListData->setColumnWidth(1,150);
    ui->tableWidget_ListData->setColumnWidth(2,80);
    ui->tableWidget_ListData->setColumnWidth(3,80);
    ui->tableWidget_ListData->setColumnWidth(4,300);
    ui->tableWidget_ListData->setColumnWidth(5,80);
    ui->tableWidget_ListData->setColumnWidth(6,250);
    ui->tableWidget_ListData->setColumnWidth(7,250);
    ui->tableWidget_ListData->setColumnWidth(8,180);

    // SQL查询语句
    QSqlQuery  sqlquery;
    sqlquery.exec("select *from commoditydatatable");

    int i=0;
    while(sqlquery.next())
    {
        // 将数据库里面的数据表读取出来转换成对应的字符串,赋给对应字符串变量
        QString strId=sqlquery.value(0).toString();
        QString strName=sqlquery.value(1).toString();
        QString strAmoumt=sqlquery.value(2).toString();
        QString strUnitPrice=sqlquery.value(3).toString();
        QString strSupplier=sqlquery.value(4).toString();
        QString strDirector=sqlquery.value(5).toString();
        QString strWareHouseTime=sqlquery.value(6).toString();
        QString strDeliveryTime=sqlquery.value(7).toString();
        QString strRemarks=sqlquery.value(8).toString();

        // 将字符串显示到表格控件当中
        ui->tableWidget_ListData->setItem(i,0,new QTableWidgetItem(strId));
        ui->tableWidget_ListData->setItem(i,1,new QTableWidgetItem(strName));
        ui->tableWidget_ListData->setItem(i,2,new QTableWidgetItem(strAmoumt));
        ui->tableWidget_ListData->setItem(i,3,new QTableWidgetItem(strUnitPrice));
        ui->tableWidget_ListData->setItem(i,4,new QTableWidgetItem(strSupplier));
        ui->tableWidget_ListData->setItem(i,5,new QTableWidgetItem(strDirector));
        ui->tableWidget_ListData->setItem(i,6,new QTableWidgetItem(strWareHouseTime));
        ui->tableWidget_ListData->setItem(i,7,new QTableWidgetItem(strDeliveryTime));
        ui->tableWidget_ListData->setItem(i,8,new QTableWidgetItem(strRemarks));

        i++;
    }

//数据查询 

void MainWidget::on_pushButton_DataSearch_clicked()
{
    // 表格控件初始化
    InitTableWidgetFunc();

    // 先清除表格控件数据
    ui->tableWidget_ListData->clear();


    QSqlQuery sqlquery;
    QString strid="StockId=";
    strid=strid+ui->lineEdit_GoodsNumber->text();

    // SQL查询语句
    QString str=QString("select *from commoditydatatable where %1").arg(strid);
    sqlquery.exec(str);

    // 设置表格控件标题(表头)
    ui->tableWidget_ListData->setHorizontalHeaderLabels(QStringList()<<"编号"<<"名称"<<"数量"<<"单价"<<"供应商家"<<"负责人"<<"入库时间"<<"出库时间"<<"备注");

    int i=0;
    while(sqlquery.next())
    {
        // 将数据库里面的数据表读取出来转换成对应的字符串,赋给对应字符串变量
        QString strId=sqlquery.value(0).toString();
        QString strName=sqlquery.value(1).toString();
        QString strAmoumt=sqlquery.value(2).toString();
        QString strUnitPrice=sqlquery.value(3).toString();
        QString strSupplier=sqlquery.value(4).toString();
        QString strDirector=sqlquery.value(5).toString();
        QString strWareHouseTime=sqlquery.value(6).toString();
        QString strDeliveryTime=sqlquery.value(7).toString();
        QString strRemarks=sqlquery.value(8).toString();

        // 将字符串显示到表格控件当中
        ui->tableWidget_ListData->setItem(i,0,new QTableWidgetItem(strId));
        ui->tableWidget_ListData->setItem(i,1,new QTableWidgetItem(strName));
        ui->tableWidget_ListData->setItem(i,2,new QTableWidgetItem(strAmoumt));
        ui->tableWidget_ListData->setItem(i,3,new QTableWidgetItem(strUnitPrice));
        ui->tableWidget_ListData->setItem(i,4,new QTableWidgetItem(strSupplier));
        ui->tableWidget_ListData->setItem(i,5,new QTableWidgetItem(strDirector));
        ui->tableWidget_ListData->setItem(i,6,new QTableWidgetItem(strWareHouseTime));
        ui->tableWidget_ListData->setItem(i,7,new QTableWidgetItem(strDeliveryTime));
        ui->tableWidget_ListData->setItem(i,8,new QTableWidgetItem(strRemarks));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值