Array
(
)

gridview e update via código

Marcelo Pinto
   - 25 mar 2011

Bom Dia

Preciso pegar os valores de uma coluna no gridview e a tualizar uma outra coluna com esses mesmos valores. Exemplo no grid tem duas colunas uma quantidade e outra fornecido.

Qtde - Fornecido

4            0

5             0

3            0

Quero pegar os valores da quantidade e colocar no fornecido, fiz um loop com o comando for mas quando executo ele salva os dados na coluna fornacido com os valores do último registro nesse caso o 3. Não sei se fui claro.

fiz o seguinte:

faço a conexão no banco

daí vem o laço for para o grid (o grid já esta com dados do banco utilizei o wizard do gridview)

for ( i=0; i<gridview.rows.count; i++)

{

int qtde = gridview.rows[i].cells[0].text;

string sql = "Update pedido set fornecido = @fornecido";

sqlcommand cmd = new sqlcommand(sql,conexao);

cmd.parameters.add("@fornecido",qtde);

cmd.executenonquery();

}

conexao.close();

ele varre o gridview certinho porém grava no banco em todas as colunas o valor do último registro.


 

Evandro Lopes
   - 05 abr 2011

Marcelo boa tarde, ao inves de ficar fazendo esse monte de updates pq vc primeiramente nao trabalha com um DataTable, ou algo do genero para ficar fazendo essas modificações primeiramente via código? Isso irá ajuda-lo em questão de performace, depois disso vc pode salvar td de uma unica vez na base de dados.   No seu DataTable vc pode ter as duas Colunas: Qtde e Fornecido, e no codigo vc faz a manipulação delas. Depois vc faz com que o Grid.Source = DataTable.   Espero ter conseguido ajuda-lo.   Abraços.

Marcelo Pinto
   - 05 abr 2011

Obrigado utilizei dataset e deu tudo certo.