Erro o índice estava fora dos limites da matriz

16/07/2022

0

Bom dia Pessoal estou tentando executar a consulta sql dentro do código c#, porém apresenta o erro: O índice estava fora dos limites da matriz!

namespace RM.ClassesCustomizadas
{

public class CodigoFonteCustomizado : SrcBase, ISrcDataServer, ISrcProcess, ISrcSubscriber, ISrcCommon {
public void CustomDataServer(RM.Con.SourceCode.Intf.SrcDataServerParams dataServerParams)
{
// FinLAN FinLAN = ((FinLAN)(dataServerParams.DataSet));

string strParametro ="0";

foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
{
strParametro += " OR IDLAN=" + lancamento["IDLAN"].ToString();
}

RMSConsSQLExecServer query = new RMSConsSQLExecServer();

string strSentenca="";
strSentenca += "SELECT A.IDLAN, P.DESCRICAO FROM FLAN A ";
strSentenca += "INNER JOIN FDADOSPGTO P ON A.CODCOLCFO=P.CODCOLIGADA AND A.CODCFO=P.CODCFO AND A.IDPGTO=P.IDPGTO ";
strSentenca += "WHERE A.IDLAN ="+strParametro;

DataTable dtRetorno = query.ExecSQL(strSentenca,null);

foreach(DataRow lancamento in dataServerParams.DataSet.Tables["FLAN"].Rows)
{
DataRow[] rowRetorno = dtRetorno.Select("IDLAN = " + lancamento["IDLAN"].ToString());

lancamento["Descricao"]=rowRetorno[0]["DESCRICAO"].ToString();

}
}

Preciso pegar os dados bancários de outra tabela e exibir do grid
Weverton Lemos

Weverton Lemos

Responder

Posts

29/07/2022

Alex William

olá, amigo. Tudo bem?

Esse erro ocorre quando você tenta chamar um indice que não existe no array.

Se você está chamando o indice 0, que seria o primeiro indice do array, e esse erro ocorre significa que seu array está vazio, logo sua pesquisa está com algum problema.

Verifiquei se a pesquisa está retornando registros mesmo, debugando cada ponto da aplicação em partes.

Em algum passo antes de você chamar os dados, tem erro.

Espero ter ajudado. ;)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar