Tables:
CREATE TABLE MaterialProperty (
ID text UNIQUE PRIMARY KEY NOT NULL,
ParameterID text,
ScalarValue real,
CurveID text,
StringValue text,
UnitID text,
MaterialID text,
FieldID text,
VersionNumber integer,
VersionDate datetime,
/* Foreign keys */
FOREIGN KEY (CurveID)
REFERENCES SeriesIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (UnitID)
REFERENCES Unit(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (MaterialID)
REFERENCES MaterialIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (ParameterID)
REFERENCES Parameter(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (FieldID)
REFERENCES FieldIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SeriesIndex (
ID text UNIQUE PRIMARY KEY NOT NULL,
Name varchar(50),
Title varchar(50),
Dims integer default 2,
Xlabel varchar(50) default "X",
Ylabel varchar(50) default "Y",
Zlabel varchar(50) default "Z",
VersionNumber integer,
VersionDate datetime
);
model->setTable("materialproperty");
if(r.isValid()) // this passes
model->setRelation(3, r);
Tables:
CREATE TABLE MaterialProperty (
ID text UNIQUE PRIMARY KEY NOT NULL,
ParameterID text,
ScalarValue real,
CurveID text,
StringValue text,
UnitID text,
MaterialID text,
FieldID text,
VersionNumber integer,
VersionDate datetime,
/* Foreign keys */
FOREIGN KEY (CurveID)
REFERENCES SeriesIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (UnitID)
REFERENCES Unit(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (MaterialID)
REFERENCES MaterialIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (ParameterID)
REFERENCES Parameter(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY (FieldID)
REFERENCES FieldIndex(ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SeriesIndex (
ID text UNIQUE PRIMARY KEY NOT NULL,
Name varchar(50),
Title varchar(50),
Dims integer default 2,
Xlabel varchar(50) default "X",
Ylabel varchar(50) default "Y",
Zlabel varchar(50) default "Z",
VersionNumber integer,
VersionDate datetime
);
QSqlRelationalTableModel *model = db->get_db_model();
model->setTable("materialproperty");
QSqlRelation r("seriesindex", "id", "name");
if(r.isValid()) // this passes
model->setRelation(3, r);
To copy to clipboard, switch view to plain text mode
Bookmarks