This error: System.IndexOutOfRangeException: Index was outside the bounds of the array
means just what it says: Your index was outside the bounds of the array. I suggest changing newListItem.Text = dtrState.GetString(2) to newListItem.Text = dtrState.GetString(1). (As a side note: I prefer referring to a DataReader's elements by column names as opposed to numerical index's as this can cause you problems if, in the future, you add more columns to your query.)
hth.
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
================================================== =========
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7
================================================== =========