2014-05-09 5 views
0

Скажем, у меня есть в моем методе этот вызов:Как передать ссылку на таблицу/имя в качестве параметра метода?

fieldNum(_myTableName, HouseNumber); 

Как скоротать _myTableName из другого метода? Какой тип должен иметь этот параметр? Я пробовал:

когда _myTableName is int fieldNum (tableId2Name (_myTableName), HouseNumber);

Но это не позволяет эту вещь, а затем пробовал передавать _myTableName как строку, которую я логически ожидаю работать, но не так, как передать параметр, чтобы использовать его в вызове fieldNum ? Это вообще возможно?

ответ

0

Нет, это невозможно, так как встроенная функция fieldNum является функцией времени компиляции, что означает, что вы должны передать действительную таблицу и имя поля (а не строку) в качестве параметров.

Существуют и другие функции, которые работают со строками (fieldName2Id) или целыми числами (fieldId2Name). Эти функции оцениваются во время выполнения.

Лучшей практикой является передача табличных или полевых ссылок в виде целых чисел (TableId и FieldId расширенных типов данных соответственно). Если вы намерены хранить значения в таблице временных данных базы данных, рассмотрите возможность хранения имен вместо этого.