0

Please help. I encountered this when I updated my MySql Connector to 8.0.11 to be able to access a mySql database with charset utf8mb. Am I missing something? Do I have to update something else?

I receive rows when I execute the stored procedure from mySQL workbench. Some of the columns returns null.

Also, reader.HasRows is true. But when I try to read it it gives me null exception. Object reference not set to an instance of an object.

Is this because I'm receiving many columns?

   MySqlConnection sqlConn = new MySqlConnection(Configurations.Configuration);

            MySqlCommand sqlComm = new MySqlCommand
            {
                CommandText = "spGetMemberInfo",
                CommandType = CommandType.StoredProcedure
            };

            sqlComm.Parameters.AddWithValue("@varCompany", request.companyName);
            sqlComm.Parameters.AddWithValue("@varFirstName", request.firstName);
            sqlComm.Parameters.AddWithValue("@varLastName", request.lastName);
            sqlComm.Parameters.AddWithValue("@varEmployeeNo", request.employeeNo);
            sqlComm.Parameters.AddWithValue("@varAssessmentHistory", request.assessmentHistory);

            sqlComm.Connection = sqlConn;
            sqlConn.Open();

            MySqlDataReader reader = sqlComm.ExecuteReader();

            if (reader.HasRows) //true
            {
            while (reader.Read()) //Null exception - reader.Read() is false
            {
                response.memberInfo.firstName = (reader.IsDBNull(1)) ? "" : reader.GetString(1);
                response.memberInfo.middleName = (reader.IsDBNull(2)) ? "" : reader.GetString(2);
                response.memberInfo.lastName = (reader.IsDBNull(3)) ? "" : reader.GetString(3);
                response.memberInfo.extensionName = (reader.IsDBNull(4)) ? "" : reader.GetString(4);
                response.memberInfo.contactNo = (reader.IsDBNull(5)) ? "" : reader.GetString(5);
                response.memberInfo.emailAddress = (reader.IsDBNull(6)) ? "" : reader.GetString(6);
                response.memberInfo.birthDate = (reader.IsDBNull(7)) ? "" : reader.GetString(7);
                response.memberInfo.city = (reader.IsDBNull(8)) ? "" : reader.GetString(8);
                response.memberInfo.province = (reader.IsDBNull(9)) ? "" : reader.GetString(9);
                response.memberInfo.region = (reader.IsDBNull(10)) ? "" : reader.GetString(10);
                response.memberInfo.isAgreeRampTerms = (reader.IsDBNull(11)) ? "" : reader.GetString(11);
                response.memberInfo.isAgreeSelfAssessment = (reader.IsDBNull(12)) ? "" : reader.GetString(12);

                response.memberInfo.isMaxiMember = (reader.IsDBNull(13)) ? "" : reader.GetString(13);
                response.memberInfo.maxicareNo = (reader.IsDBNull(14)) ? "" : reader.GetString(14);
                response.memberInfo.companyCode = (reader.IsDBNull(15)) ? "" : reader.GetString(15);
                response.memberInfo.employeeNo = (reader.IsDBNull(16)) ? "" : reader.GetString(16);
                response.memberInfo.hasExistingIllness = (reader.IsDBNull(17)) ? "" : reader.GetString(17);
                response.memberInfo.isExposedCovid = (reader.IsDBNull(18)) ? "" : reader.GetString(18);
                response.memberInfo.hasCovidSymptoms = (reader.IsDBNull(19)) ? "" : reader.GetString(19);
                response.memberInfo.isEligibleRamp = (reader.IsDBNull(20)) ? "" : reader.GetString(20);
                response.memberInfo.dateTimeCreated = (reader.IsDBNull(21)) ? "" : reader.GetString(21);
                response.memberInfo.createdBy = (reader.IsDBNull(22)) ? "" : reader.GetString(22);
                response.memberInfo.latitude = (reader.IsDBNull(23)) ? "" : reader.GetString(23);
                response.memberInfo.longitude = (reader.IsDBNull(24)) ? "" : reader.GetString(24);

                if (request.assessmentHistory.ToLower() == "y")
                {
                    response.memberAssessmentHistory.Add(new MemberAssessmentHistory
                    {
                        ahId = (reader.IsDBNull(25)) ? "" : reader.GetString(25),
                        employeeNo = (reader.IsDBNull(26)) ? "" : reader.GetString(26),
                        companyCode = (reader.IsDBNull(27)) ? "" : reader.GetString(27),
                        riskLevelCode = (reader.IsDBNull(28)) ? "" : reader.GetString(28),
                        covidTestStatusCode = (reader.IsDBNull(29)) ? "" : reader.GetString(29),
                        recomPackageCode = (reader.IsDBNull(30)) ? "" : reader.GetString(30),
                        ownerTeam = (reader.IsDBNull(31)) ? "" : reader.GetString(31),
                        ownerDoctorName = (reader.IsDBNull(32)) ? "" : reader.GetString(32),
                        ownerAgentName = (reader.IsDBNull(33)) ? "" : reader.GetString(33),
                        tranDateTime = (reader.IsDBNull(34)) ? "" : reader.GetString(34),
                        voucherNo = (reader.IsDBNull(35)) ? "" : reader.GetString(35),
                        voucherStatusCode = (reader.IsDBNull(36)) ? "" : reader.GetString(36),
                        loaNo = (reader.IsDBNull(37)) ? "" : reader.GetString(37),
                        loaStatusCode = (reader.IsDBNull(38)) ? "" : reader.GetString(38),
                        monitoringCallback = (reader.IsDBNull(39)) ? "" : reader.GetString(39),
                        assessmentStatus = (reader.IsDBNull(40)) ? "" : reader.GetString(40)
                    });
                }
            }
Kate Lastimosa
  • 169
  • 2
  • 15

0 Answers0