Select para clientes que estao devendo - C#

Fiz o seguinte select:

SELECT parcelas.cod_venda, vendas.data, parcelas.valor_parcela, parcelas.data_vencimento,
parcelas.estado_pagamento
FROM clientes, vendas, parcelas
WHERE vendas.codcliente = @cod_cliente
AND vendas.codvenda = parcelas.cod_venda
AND parcelas.data_vencimento < @data_atual AND parcelas.estado_pagamento = ‘pendente’

e Deu o seguinte erro:

O índice e o comprimento devem se referir a um local dentro da seqüência.
Nome do parâmetro: length

Executando a pesquisa:

try { this.vendaParcelasDevendoTableAdapter.PesquisaVendaParcelasDevendo(this.dataSetPesquisaEntreTabelas.VendaParcelasDevendo, ((int)(System.Convert.ChangeType(codigo, typeof(int)))), ((int)(System.Convert.ChangeType(codigo, typeof(int)))), Convert.ToDateTime(data_atual).ToString("yyyy-MM-dd")); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); }

alguem?

Erro em que linha?

Amigão, um dos parâmetros está vindo nulo ou uma string está vazia.
Separa o seu código e debuga para confirmar qual deles está vindo incorreto.[code]

int prmCodigo = Convert.ToInt32(codigo);
int prmDataAtual = Convert.ToDateTime(data_atual);

var resultado = this.vendaParcelasDevendoTableAdapter.PesquisaVendaParcelasDevendo(
this.dataSetPesquisaEntreTabelas.VendaParcelasDevendo,
prmCodigo, prmDataAtual.toString(“yyyy-MM-dd”));
[/code]