I am looking for a way to retrieve next value from a SQL Server sequence using Pro SDK. In Oracle a QueryDef can be used (see below), but in SQL Server the "dual" table does not exist. I do not think I can execute "select next value for <sequence>" using QueryDef without table name. DatabaseClient.ExecuteStatement does not return any data. Any suggestions?
Thanks!
private Task<string> GetNextNumberFromSequence(ArcGIS.Core.Data.Geodatabase geodatabase, string seqName)
{
int numFromSequence = 0;
return QueuedTask.Run(() =>
{
QueryDef seqQueryDef = new QueryDef
{
SubFields = seqName + ".NEXTVAL",
Tables = "SYS.DUAL"
};
try
{
using (RowCursor rowCursor = geodatabase.Evaluate(seqQueryDef, false))
{
rowCursor.MoveNext();
using (Row row = rowCursor.Current)
numFromSequence = Convert.ToInt32(row[0]);
}
return numFromSequence.ToString();
}
catch (Exception)
{
return null;
}
});
}