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)
});
}
}