DataTable.LoadDataRow Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Localiza e atualiza uma linha específica. Se nenhuma linha correspondente for encontrada, uma nova linha será criada usando os valores fornecidos.
Sobrecargas
LoadDataRow(Object[], Boolean) |
Localiza e atualiza uma linha específica. Se nenhuma linha correspondente for encontrada, uma nova linha será criada usando os valores fornecidos. |
LoadDataRow(Object[], LoadOption) |
Localiza e atualiza uma linha específica. Se nenhuma linha correspondente for encontrada, uma nova linha será criada usando os valores fornecidos. |
LoadDataRow(Object[], Boolean)
- Origem:
- DataTable.cs
- Origem:
- DataTable.cs
- Origem:
- DataTable.cs
Localiza e atualiza uma linha específica. Se nenhuma linha correspondente for encontrada, uma nova linha será criada usando os valores fornecidos.
public:
System::Data::DataRow ^ LoadDataRow(cli::array <System::Object ^> ^ values, bool fAcceptChanges);
public System.Data.DataRow LoadDataRow (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[]
Uma matriz de valores usados para criar a nova linha.
- fAcceptChanges
- Boolean
true
para aceitar alterações; caso contrário, false
.
Retornos
O novo DataRow.
Exceções
A matriz é maior que o número de colunas na tabela.
Um valor não corresponde a seu respectivo tipo de coluna.
Adicionar a linha invalida uma restrição.
Tentativa de colocar um valor nulo em uma coluna em que AllowDBNull é falso.
Exemplos
O exemplo a seguir usa o LoadDataRow método para tentar localizar uma linha. Se nenhuma linha desse tipo for encontrada, os valores serã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
Comentários
O LoadDataRow método usa uma matriz de valores e localiza os valores correspondentes nas colunas de chave primária.
Se uma coluna tiver um valor padrão, passe um valor nulo na matriz para definir o valor padrão para essa coluna. Da mesma forma, se uma coluna tiver sua AutoIncrement propriedade definida como true, passe um valor nulo na matriz para definir o valor gerado automaticamente para a linha.
Se o fAcceptChanges
parâmetro for true
ou não especificado, os novos dados serão adicionados e, em seguida, AcceptChanges serão chamados para aceitar todas as alterações no DataTable; se o argumento for false
, as linhas recém-adicionadas serão marcadas como inserções e as alterações nas linhas existentes serão marcadas como modificações.
Exceções também podem ocorrer durante um ColumnChanging evento ou RowChanging . Se ocorrer uma exceção, a linha não será adicionada à tabela.
Use LoadDataRow em conjunto com BeginLoadData e EndLoadData.
Confira também
Aplica-se a
LoadDataRow(Object[], LoadOption)
- Origem:
- DataTable.cs
- Origem:
- DataTable.cs
- Origem:
- DataTable.cs
Localiza e atualiza uma linha específica. Se nenhuma linha correspondente for encontrada, uma nova linha será criada usando os valores fornecidos.
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);
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[]
Uma matriz de valores usados para criar a nova linha.
- loadOption
- LoadOption
Usado para determinar como os valores da matriz são aplicados aos valores correspondentes em uma linha existente.
Retornos
O novo DataRow.
Comentários
O LoadDataRow método usa uma matriz de valores e localiza os valores correspondentes nas colunas de chave primária.
Se uma coluna tiver um valor padrão, passe um valor nulo na matriz para definir o valor padrão para essa coluna. Da mesma forma, se uma coluna tiver sua AutoIncrement propriedade definida como true, passe um valor nulo na matriz para definir o valor gerado automaticamente para a linha.
O valor do loadOption
parâmetro é usado para determinar como os valores na matriz são aplicados a uma linha existente. Por exemplo, se loadOption
for definido como OverwriteChanges
, os Original
valores e Current
de cada coluna serão substituídos pelos valores na linha de entrada e a RowState
propriedade será definida Unchanged
como .
Exceções também podem ocorrer durante um ColumnChanging evento ou RowChanging . Se ocorrer uma exceção, a linha não será adicionada à tabela.
Use LoadDataRow em conjunto com BeginLoadData e EndLoadData.