Como você recebe um valor específico de um objeto System.Data.DataTable?
-
11-09-2019 - |
Pergunta
Eu sou um programador algoritmo de baixo nível, e bancos de dados não são realmente minha coisa - assim que esta vai ser uma pergunta n00b se alguma vez houve um.
Estou executando uma consulta SELECT simples através do DAO da nossa equipe de desenvolvimento. A DAO devolve um objecto System.Data.DataTable contendo os resultados da consulta. Isto é tudo funcionando bem até agora.
O problema que eu tenho que correr em agora:
Eu preciso puxar um valor fora de um dos campos da primeira linha na DataTable resultante - e eu não tenho nenhuma idéia onde começar mesmo. Microsoft é tão confuso sobre isso! Arrrg!
Qualquer conselho seria apreciado. Eu não estou fornecendo quaisquer amostras de código, porque acredito que o contexto é desnecessária aqui. Estou assumindo que todos os objetos DataTable funcionam da mesma maneira, não importa como você executa suas consultas -. E, portanto, qualquer informação adicional seria apenas tornar isso mais confuso para todos
Solução
Apenas o básico ....
yourDataTable.Rows[ndx][column]
onde ndx é o número da linha (a partir de 0) onde a coluna pode ser um objecto DataColumn, um índice (coluna n), ou o nome da coluna (uma cadeia)
yourDataTable.Rows[0][0]
yourDataTable.Rows[0][ColumObject]
yourDataTable.Rows[0]["ColumnName"]
Para testar a null, comparar com DBNull.Value;
Outras dicas
Você quer dizer como table.Rows[0]["MyColumnName"]
?
Se você querer extrair a linha com o seu ID = 5 (ou seja, a chave primária) e obter o seu valor para a coluna chamada Descrição.
DataRow dr = myDataTable.Rows.Find(5);
String s = dr["Description"].ToString();