bool VehicleSpecificCharacteristics::saveDataToSQL(QString & errmsg)
{
//TODO:做具体实现
//获取时间
QString m_saveTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
//TODO:获取被选中行的数据
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->dataTableView->model());
if (model) {
int j = ui->dataTableView->model()->rowCount();
for (int i = 0; i < model->rowCount(); ++i) {
QString DrwNo = model->data(model->index(i, 1)).toString();
QString Version = model->data(model->index(i, 2)).toString();
QString FeatureCode = model->data(model->index(i, 4)).toString();
QString Category = model->data(model->index(i, 11)).toString();
QString Drawinglocation = model->data(model->index(i, 13)).toString();
QString Specification = model->data(model->index(i, 17)).toString();
//QString Specification = QString::fromLocal8Bit("类型:几何公差,公差符号:*&00BF,公差值:*&00D81.5*&00CC,第一基准:D,第二基准:E,第三基准:F,上附加文本:M6,下附加文本:,左附加文本:,右附加文本:△● <54>,是否测点:true,尺寸id:48");
QString DimID ;
int pos = Specification.indexOf("尺寸id:");
if (pos != -1) {
DimID = Specification.mid(pos + 5);
}
SpecialSymbolSQLDataReplace(0, Specification);
QString DataComparison = model->data(model->index(i, 18)).toString();
QString IsHandLost = model->data(model->index(i, 19)).toString();
QString tagID = model->data(model->index(i, 20)).toString();
QString isDetectingPoint = model->data(model->index(i, 21)).toString();
QString p_FeaturesNumber, d_FeaturesNumber;
QString key, improtant;
key = ui->rockNumLabel->text(); improtant = ui->rockNumLabel_2->text();
p_FeaturesNumber = key + '|' + improtant;
key = ui->localNumLabel_1->text(); improtant = ui->localNumLabel_2->text();
d_FeaturesNumber = key + '|' + improtant;
QString strSql, strSql1;
QVector<QVector<QString>> dataTemp;
strSql = QString::fromLocal8Bit("SELECT * FROM SpecialCharacteristic_Record_1 WHERE 图号='%1' AND 标识ID='%2'").arg(DrwNo).arg(tagID);
bool anser = SqlServer::instance_->GetSQLData(strSql, dataTemp);
if (true) {
if (dataTemp.size() > 0) {
strSql1 = QString::fromLocal8Bit("UPDATE SpecialCharacteristic_Record_1 SET 图纸版本='%1',类别 ='%2', 图纸位置 ='%3',规格 ='%4', 数据对比结果 ='%5', 是否手输 ='%6',是否测点='%7',磐石特性数量='%8',图纸特性数量='%9',用户='%10',保存时间='%11',尺寸ID='%12' WHERE 图号='%13' AND 标识ID='%14'").arg(Version)
.arg(Category).arg(Drawinglocation).arg(Specification).arg(DataComparison).arg(IsHandLost).arg(isDetectingPoint)
.arg(p_FeaturesNumber).arg(d_FeaturesNumber).arg(StrUserName).arg(m_saveTime).arg(DimID).arg(DrwNo).arg(tagID);
}
else {
strSql1 = QString::fromLocal8Bit("INSERT INTO SpecialCharacteristic_Record_1 (图号, 图纸版本, 特性编码, 类别, 图纸位置, 规格, 数据对比结果, 是否手输,标识ID,是否测点,磐石特性数量,图纸特性数量,用户,保存时间,尺寸ID) VALUES ('%1', '%2', '%3', '%4', '%5', '%6','%7','%8','%9','%10','%11','%12','%13','%14','%15')")
.arg(DrwNo).arg(Version).arg(FeatureCode).arg(Category).arg(Drawinglocation)
.arg(Specification).arg(DataComparison).arg(IsHandLost).arg(tagID)
.arg(isDetectingPoint).arg(p_FeaturesNumber).arg(d_FeaturesNumber)
.arg(StrUserName).arg(m_saveTime).arg(DimID);
}
SqlServer::instance_->RunSQL(strSql1);
}
}
}//TODO:这里没有对插入的错误判断
else {
SqlServer::instance_->CloseServer();
return false;
}
return false;
}解析该代码,是如何连接数据库的
最新发布