DataTable.LoadDataRow Método

Definição

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

Sobrecargas

Name Description
LoadDataRow(Object[], Boolean)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

LoadDataRow(Object[], LoadOption)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

LoadDataRow(Object[], Boolean)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

public:
 System::Data::DataRow ^ LoadDataRow(cli::array <System::Object ^> ^ values, bool fAcceptChanges);
public System.Data.DataRow LoadDataRow(object[] values, bool fAcceptChanges);
member this.LoadDataRow : obj[] * bool -> System.Data.DataRow
Public Function LoadDataRow (values As Object(), fAcceptChanges As Boolean) As DataRow

Parâmetros

values
Object[]

Um array de valores usados para criar a nova linha.

fAcceptChanges
Boolean

true aceitar mudanças; caso contrário false.

Devoluções

O novo DataRow.

Exceções

O array é maior do que o número de colunas na tabela.

Um valor não corresponde ao respetivo tipo de coluna.

Adicionar a linha invalida uma restrição.

Tentar colocar um nulo numa coluna onde AllowDBNull é falso.

Exemplos

O exemplo seguinte usa o LoadDataRow método para tentar encontrar uma linha. Se não for encontrada tal linha, os valores são usados para criar uma nova linha.

using System;
using System.Data;

class MyDataSet {
   public static void Main() {
      DataTable dt = new DataTable();

      DataColumn dc1 = new DataColumn("col1");
      DataColumn dc2 = new DataColumn("col2");
      DataColumn dc3 = new DataColumn("col3");

      dt.Columns.Add(dc1);
      dt.Columns.Add(dc2);
      dt.Columns.Add(dc3);

      // Create an array for the values.
      object[] newRow = new object[3];

      // Set the values of the array.
      newRow[0] = "Hello";
      newRow[1] = "World";
      newRow[2] = "two";
      DataRow row;

      dt.BeginLoadData();

      // Add the new row to the rows collection.
      row = dt.LoadDataRow(newRow, true);

      foreach (DataRow dr in dt.Rows) {
         Console.WriteLine(String.Format("Row: {0}, {1}, {2}", dr["col1"], dr["col2"], dr["col3"]));
      }

      dt.EndLoadData();
   }
}
Imports System.Data

Class MyDataSet
   Public Shared Sub Main()
      Dim dt As New DataTable()

      Dim dc1 As New DataColumn("col1")
      Dim dc2 As New DataColumn("col2")
      Dim dc3 As New DataColumn("col3")

      dt.Columns.Add(dc1)
      dt.Columns.Add(dc2)
      dt.Columns.Add(dc3)

      ' Create an array for the values.
      Dim newRow As Object() = New Object(2) {}

      ' Set the values of the array.
      newRow(0) = "Hello"
      newRow(1) = "World"
      newRow(2) = "two"
      Dim row As DataRow

      dt.BeginLoadData()

      ' Add the new row to the rows collection.
      row = dt.LoadDataRow(newRow, True)

      For Each dr As DataRow In dt.Rows
         Console.WriteLine([String].Format("Row: {0}, {1}, {2}", dr("col1"), dr("col2"), dr("col3")))
      Next

      dt.EndLoadData()
   End Sub
End Class

Observações

O LoadDataRow método recebe um array de valores e encontra o(s) valor(es) correspondente(s) na(s) coluna(s) da chave primária.

Se uma coluna tiver um valor predefinido, passe um valor nulo no array para definir o valor padrão dessa coluna. De forma semelhante, se uma coluna tiver AutoIncrement a sua propriedade definida como verdadeira, passe um valor nulo no array para definir o valor gerado automaticamente para a linha.

Se o fAcceptChanges parâmetro for true especificado ou não, os novos dados são adicionados e depois AcceptChanges são chamados para aceitar todas as alterações no DataTable; se o argumento for false, as linhas recém-adicionadas são marcadas como inserções, e as alterações às linhas existentes são marcadas como modificações.

Exceções também podem ocorrer durante um ColumnChanging evento de ou RowChanging . Se ocorrer uma exceção, a linha não é adicionada à tabela.

Usar LoadDataRow em conjunto com BeginLoadData e EndLoadData.

Ver também

Aplica-se a

LoadDataRow(Object[], LoadOption)

Encontra e atualiza uma linha específica. Se não for encontrada nenhuma linha correspondente, uma nova linha é criada usando os valores indicados.

public:
 System::Data::DataRow ^ LoadDataRow(cli::array <System::Object ^> ^ values, System::Data::LoadOption loadOption);
public System.Data.DataRow LoadDataRow(object[] values, System.Data.LoadOption loadOption);
member this.LoadDataRow : obj[] * System.Data.LoadOption -> System.Data.DataRow
Public Function LoadDataRow (values As Object(), loadOption As LoadOption) As DataRow

Parâmetros

values
Object[]

Um array de valores usados para criar a nova linha.

loadOption
LoadOption

Usado para determinar como os valores do array são aplicados aos valores correspondentes numa linha existente.

Devoluções

O novo DataRow.

Observações

O LoadDataRow método recebe um array de valores e encontra o(s) valor(es) correspondente(s) na(s) coluna(s) da chave primária.

Se uma coluna tiver um valor predefinido, passe um valor nulo no array para definir o valor padrão dessa coluna. De forma semelhante, se uma coluna tiver AutoIncrement a sua propriedade definida como verdadeira, passe um valor nulo no array para definir o valor gerado automaticamente para a linha.

O valor do loadOption parâmetro é usado para determinar como os valores no array são aplicados a uma linha existente. Por exemplo, se loadOption for definido como OverwriteChanges, os Original valores e Current de cada coluna são substituídos pelos valores da linha de entrada e a RowState propriedade é definida para Unchanged.

Exceções também podem ocorrer durante um ColumnChanging evento de ou RowChanging . Se ocorrer uma exceção, a linha não é adicionada à tabela.

Usar LoadDataRow em conjunto com BeginLoadData e EndLoadData.

Ver também

Aplica-se a