your cities table does not need to include the state column, only the stateid column.
The parent recordset would need to be:
SELECT statesName, stateId FROM states
in the first list, the value will use the stateId column, the label will be the statesName column.
This way t he user will see the state name in the list, but the list will pass the state ID.
The child Recordset will be:
SELECT StateId, CityId, City FROM t_cities
When creating the Dynamic Array, the Parent ID is the column that relates to the value being passed by the Parent select list, in this case StateId. The Child ID is the column that will be used as the value for the child list (CityId). Child Text is the column to be used as the label for the child list (City).