Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Strange MySql Exception

$
0
0
I'm attempting to read values from a database into my application, i have a table with a number of entries all of Type: Text

heres what im using to read the values:


        frmMain.Cursor = Cursors.WaitCursor


        Dim conn As New MySqlConnection
        conn.ConnectionString = "*************"
        'Get user data
        Try
            conn.Open()
            'Dim stm As String = "SELECT Nickname, Enabled, License, Version, Password, email, news, logincount, lastloggedin FROM Users WHERE Username='" & SELusername & "'"
            Dim stm As String = "SELECT * FROM Users WHERE Username='" & SELusername & "'"
            Dim cmd As MySqlCommand = New MySqlCommand(stm, conn)
            Dim reader As MySqlDataReader = cmd.ExecuteReader()

            With frmMain

                username = SELusername
                frmMain.txtUsername.Text = username


                reader.Read()


                nickname = reader.GetString("nickname")
                oldnickname = reader.GetString("nickname")
                .txtNickname.Text = nickname



                Enabled = reader.GetString("enabled")
                oldEnabled = reader.GetString("enabled")
                frmMain.cmbEnabled.Text = Enabled
                If Enabled = "1" Then
                    .cmbEnabled.Text = "Yes"
                ElseIf Enabled = "0" Then
                    .cmbEnabled.Text = "No"
                End If

                License = reader.GetString("license")
                oldLicense = reader.GetString("license")
                .txtLicense.Text = License

                Version = reader.GetString("version")
                oldVersion = reader.GetString("version")
                .txtVersion.Text = Version


                Password = reader.GetString("password")
                oldPassword = reader.GetString("password")
                frmMain.txtPassword.Text = Password


                logincount = reader.GetString("LoginCount")
                .txtLoginCount.Text = logincount

                lastloggedin = reader.GetString("lastloggedin")
                .txtLastLoggedIn.Text = lastloggedin

                news = reader.GetString("news")
                oldNews = reader.GetString("news")
                If news = "1" Then
                    .cmbNews.Text = "Yes"
                ElseIf news = "0" Then
                    .cmbNews.Text = "No"
                End If

                email = reader.GetString("email")
                oldEmail = reader.GetString("email")
                .txtEmail.Text = email
                reader.Close()
                frmMain.Cursor = Cursors.Default

            End With
        Catch ex As MySqlException
            MsgBox("Error: " & ex.ToString())
        Finally
            conn.Close()
        End Try





Now for some reason i can't seem to understand, some of the entries in the table read perfectly, yet others throw the following error:

Quote

Error: MySql.Data.MySqlClient.MySqlException (0x80004005): Invalid attempt to access a field before calling read()
at MySql.Data.MySqlClient.ResultSet.get_item(int32 index)
at MySql.Data.MySqlClient.MySqlDataReader.GetFieldValue(int32 index, Boolean checkNull)
at MySql.Data.MySqlClient.MySqlDataReader.Getstring(int32 i)
at MySql.Data.MySqlClient.MySqlDataReader.Getstring(String Column)



It seems strange to me that i'm getting this error on only some of the records in the table - i've reviewed the data in table and can't seem to find any kind of pattern.

any suggestions?

Thanks in advance

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>