Greetings All,Can anybody pls help in the following. i have written 2 functions getRecordList and GetRowsList. i am getting casting problem vaResultSet = (string[])GetRowsList(ref SqlDataReader, nStart, nrows); in getRecordList function. can anybody pls have a look at my code pls give your valuable suggestions and mistakes in code. its some what urjent and really it will be very greatful for your earliest replies. thanks in advance.protected string[] getRecordList(StringBuilder vaInput){setCallerDetails();SqlCommand sqlCommand;SqlDataReader SqlDataReader;string[] vaResultSet;string[] vaOutput = new string[4];string szSql;long nStart;long nrows;long nRecordCount = 0;short i;try{if (Information.IsArray(vaInput)){szSql = vaInput[0].ToString();nStart = vaInput[1];nrows = vaInput[2];}else{szSql = vaInput.ToString();nrows = - 1;nStart = 1;}string StrLastSQL = szSql;if (openDatabase() == C_RET_SUCCESS){if (Information.Err().Number == 0){if (szSql.Length> 0){sqlCommand = new SqlCommand(szSql, sqlConnection);sqlCommand.CommandTimeout = iCommandTimeOut;SqlDataReader = sqlCommand.ExecuteReader();vaResultSet = (string[])GetRowsList(ref SqlDataReader, nStart, nrows);if (Information.IsArray(vaResultSet)){for (i = 0; i <= Information.UBound((System.Array) vaResultSet, 1); i++){if (Information.IsArray(vaResultSet)){nRecordCount = nRecordCount + vaResultSet[1];} }}else{nRecordCount = 0;}vaOutput[0] = "E" + Information.Err().Number;try{if (Information.IsArray(vaResultSet)){if (Information.UBound((System.Array) vaResultSet, 1) == 0){vaOutput[1] = vaResultSet[0][0].ToString();}else{vaOutput[1] = vaResultSet.ToString();}}}catch (Exception ex){HandleError(ex, C_CLASS_NAME, true);}vaOutput[2] = nRecordCount.ToString();vaOutput[3] = Interaction.IIf(! Information.IsNothing(vaResultSet), Interaction.IIf(Information.IsArray(vaResultSet), Information.UBound((System.Array) vaResultSet, 1), 0), 0).ToString();SqlDataReader.Close();}else{vaOutput[0] = "EC01";}}else{vaOutput[0] = "E" + Information.Err().Number;}closeDatabase();}}catch (Exception ex){vaOutput[0] = C_RET_FAIL;HandleError(ex, C_CLASS_NAME, true);}return vaOutput;}**************************************protected object GetRowsList(ref SqlDataReader oReader, long nStart, long nRows){int nCols;long rCnt = 0;long nbegin = 0;long nEnd = 0;ArrayList vaResultSet = new ArrayList();bool bAll = false;bool bExit = false;//sai need to check above 2 variables false or truetry{do{rCnt = 0;nCols = oReader.FieldCount;if (nStart == 1 && nRows == - 1){nbegin = 0;bAll = true;}else if (nStart > 0 && nRows == - 1){nbegin = nStart - 1;bAll = true;}else if (nStart > 0 && nRows > 0){nbegin = nStart - 1;nEnd = nbegin + nRows - 1;}ArrayList vaArray = new ArrayList();while (oReader.Read()){if (! bExit){if (nbegin <= rCnt &&(nEnd >= rCnt || bAll == true)){try{object[] values = new object[nCols-1];oReader.GetValues(values);vaArray.Add(values);}catch (Exception ex){HandleError(ex, C_CLASS_NAME,false);//sai need to check, boolean is true or false}}else if ((bAll == false) &&(nEnd < rCnt)){bExit = true;}}rCnt = rCnt + 1;}object[] vaOut = new object[] { vaArray, rCnt };vaResultSet.Add(vaOut);} while (oReader.NextResult());}catch (Exception ex){MessageBox.Show(ex.Message.ToString());HandleError(ex, C_CLASS_NAME,false);}return vaResultSet;}Thanks in advanceSai
The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral