A JET_COLUMNID identifies a column inside of a table (it is actually an index into an internal per-table array of column definition structures). The database meta-data provides a mapping from column name to columnid. The mapping of column names to columnids can change when a database is defragmented by esentutl (esentutl /d). This means that each time you open a database you should use JetGetTableColumnInfo or JetGetColumnInfo to get the ids of the columns you are going to use. This only has to be done once per table -- different sessions that are using the same table will see the name name->columnid mapping unless you do something crazy like rename your columns with JetRenameColumn (something that I do not recommend)!