}
else
{
+ Table refTable = null;
sqlite3_stmt * statement;
sprintf(command, "SELECT Name, Type, Length FROM eda_table_fields WHERE Table_Name='%s';", name);
}
{
+ Table * fTable = (Table *)eClass_GetProperty(type, "table");
SQLiteField field { tbl = table, name = CopyString(fieldName), type = type, length = length, num = table.fields.count, sqliteType = sqliteType };
incref field;
+ if(fTable) refTable = *fTable;
+ if(!table.primaryKey && refTable && !strcmp(refTable.name, table.name))
+ table.primaryKey = field;
+
table.fields.Add(field);
}
}
return fields.first;
}
+ Field GetPrimaryKey()
+ {
+ return primaryKey;
+ }
+
uint GetFieldsCount()
{
return fields.count;
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Basepath: ../\n"
-#: ./EDASQLite.ec:457
+#: ./EDASQLite.ec:463
msgid "BEGIN FAILED!"
msgstr "BEGIN FAILED!"
-#: ./EDASQLite.ec:468
+#: ./EDASQLite.ec:474
msgid "COMMIT FAILED!"
msgstr "COMMIT FAILED!"
msgid "EDASQLite: Can't open database (%s): %s\n"
msgstr "EDASQLite: Can't open database (%s): %s\n"
-#: ./EDASQLite.ec:954
+#: ./EDASQLite.ec:960
msgid "WARNING: ALTER TABLE DOESN'T WORK WITH PRIMARY KEY FOR "
msgstr "WARNING: ALTER TABLE DOESN'T WORK WITH PRIMARY KEY FOR "
-#: ./EDASQLite.ec:915
+#: ./EDASQLite.ec:921
msgid "WARNING: Table not yet created for class "
msgstr "WARNING: Table not yet created for class "
public:
virtual String GetName();
virtual Field GetFirstField();
+ virtual Field GetPrimaryKey();
virtual uint GetFieldsCount();
virtual uint GetRowsCount();
virtual DriverRow CreateRow();
public:
property String name { get { return GetName(); } }
property Field firstField { get { return GetFirstField(); } }
+ property Field primaryKey { get { return GetPrimaryKey(); } }
property uint fieldsCount { get { return GetFieldsCount(); } }
property uint rowsCount { get { return GetRowsCount(); } }