Answered by:
Error with ODBC database

Question
-
User1626849611 posted
Hi, not to sure if ive posted this in the correct section! Trying to read rows from an odbc database into a List to be passed onto Ajax autocomplete but i keep getting the error "System.StackOverflowException" Make sure you do not have an infinite loop or infinite recursion.
Heres my code:
<WebMethod()> _ <ScriptMethod()> _ Public Function GetCompletionList() As String() Dim myConn As OdbcConnection Dim myCommand As OdbcCommand Dim SearchFilterCmd As String myConn = New OdbcConnection("Dsn=PFXtrain;uid=pfxuser;database=PFXtrain") SearchFilterCmd = "SELECT name FROM pfxuser.drmaster" myCommand = New OdbcCommand(SearchFilterCmd, myConn) Dim suggestions As New List(Of String)() myConn.ConnectionTimeout = 50000 Try myConn.Open() Dim dr As OdbcDataReader dr = myCommand.ExecuteReader 'Error occurs here While dr.Read suggestions.Add(dr(0).ToString()) End While Catch ex As Exception 'do exception stuff End Try Return suggestions.ToArray End Function
It may be something simple but i just can see it!
Thanks
Wednesday, June 22, 2011 4:01 AM
Answers
-
User-693248168 posted
I am not sure if this could be the reason, but you are not closing the datareader nor the connection after fetching the records.
Use dr.Close() and connection.Close() after reading the values.
http://msdn.microsoft.com/en-us/library/haa3afyz(v=vs.71).aspx
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Wednesday, June 22, 2011 7:46 AM
All replies
-
User-693248168 posted
How many records does your table have? Hope they are not in millions? Try selecting few records instead of all rows.
pfxuser.drmaster
Wednesday, June 22, 2011 5:31 AM -
User1626849611 posted
Hi Lateef,
There would be about 100 rows in total if i change the command string to "SELECT name FROM pfxuser.drmaster WHERE name LIKE 'Dub%'" there are about 4 corresponding rows but the same error still occurs?
Wednesday, June 22, 2011 5:42 AM -
User-693248168 posted
Put a breakpoint on the return statement and see how many rows are getting returned.
Wednesday, June 22, 2011 7:12 AM -
User1626849611 posted
None of the rows are being returned it crashes out at "dr = myCommand.ExecuteReader" it was working perfectly for about 30mins there and now ive closed and opened visual web developer its started crashing again.
Wednesday, June 22, 2011 7:35 AM -
User-693248168 posted
I am not sure if this could be the reason, but you are not closing the datareader nor the connection after fetching the records.
Use dr.Close() and connection.Close() after reading the values.
http://msdn.microsoft.com/en-us/library/haa3afyz(v=vs.71).aspx
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Wednesday, June 22, 2011 7:46 AM -
User1626849611 posted
Problem Solved,
Thanks Lateef
Wednesday, June 22, 2011 11:15 AM