промежуточный.привожу в порядок индексы.

This commit is contained in:
2025-03-23 02:14:23 +03:00
parent 10c213feae
commit f6cc447481
35 changed files with 526 additions and 304 deletions

View File

@@ -1,8 +1,10 @@
package Common.Database.Tables;
import Common.Database.Database;
import Common.Database.Objects.DBObject;
import _VisualDVM.TestingSystem.DVM.DVMConfigurationGroup.DVMConfigurationGroup;
import java.lang.reflect.Field;
import java.util.Vector;
public abstract class DBTable<K, D extends DBObject> extends DataSet<K, D> {
//-
public DBTableColumn PK = null;
@@ -34,4 +36,31 @@ public abstract class DBTable<K, D extends DBObject> extends DataSet<K, D> {
res.append(c).append("\n");
return res.toString();
}
boolean vectorContains(D object, Vector<D> vector){
for (D v_object: vector){
if (isEqual(object,v_object))
return true;
}
return false;
}
public void ActualizeData(Vector<D> old, Vector<D> actual) throws Exception {
//привести данные вектора old в соответствие с вектором new
//те, что в нем появились вставить, те что отсутствуют но есть в old удалить
Vector<D> to_delete = new Vector<>();
Vector<D> to_insert = new Vector<>();
for (D object: old){
if (!vectorContains(object, actual))
to_delete.add(object);
}
for (D object : actual) {
if (!vectorContains(object, old))
to_insert.add(object);
}
db.BeginTransaction();
for (D object: to_delete)
db.Delete(object);
for (D object: to_insert)
db.Insert(object);
db.Commit();
}
}

View File

@@ -87,4 +87,8 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
public boolean containsKey(Object key) {
return Data.containsKey(key);
}
//--
public boolean isEqual(D o1, D o2){
return false;
}
}

View File

@@ -581,4 +581,10 @@ public abstract class DataSetControlForm<D extends DBObject> extends ControlForm
public boolean canModifyCurrent(TextLog Log) {
return CheckCurrent(Log);
}
public void SelectKeys(Vector<?> keys_in) {
for (Object key_ : keys_in)
dataSource.get(key_).Select(true);
if (!keys_in.isEmpty())
Show(keys_in.lastElement());
}
}