VersionNotFoundException クラス

削除された DataRow のバージョンを返そうとした場合にスローされる例外を表します。

この型のすべてのメンバの一覧については、VersionNotFoundException メンバ を参照してください。

System.Object
   System.Exception
      System.SystemException
         System.Data.DataException
            System.Data.VersionNotFoundException

<Serializable>
Public Class VersionNotFoundException   Inherits DataException
[C#]
[Serializable]
public class VersionNotFoundException : DataException
[C++]
[Serializable]
public __gc class VersionNotFoundException : public DataException
[JScript]
public
   Serializable
class VersionNotFoundException extends DataException

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

使用例

[Visual Basic, C#, C++] 1 個の DataColumn オブジェクトと 10 個の DataRow オブジェクトを使用して、 DataTable を作成する例を次に示します。 DataRow を削除した後、削除した行の現在のバージョンを返そうとすると、 VersionNotFoundException 例外がスローされます。

 
Private Sub DemonstrateVersionNotFoundException()
    ' Create a DataTable with one column.
    Dim myTable As New DataTable("myTable")
    Dim myColumn As New DataColumn("col1")
    myTable.Columns.Add(myColumn)
    Dim newRow As DataRow
    
    Dim i As Integer
    For i = 0 To 9
        newRow = myTable.NewRow()
        newRow("col1") = i
        myTable.Rows.Add(newRow)
    Next i
    myTable.AcceptChanges()
    Try
        Console.WriteLine("trying")
        Dim removedRow As DataRow = myTable.Rows(9)
        removedRow.Delete()
        removedRow.AcceptChanges()
        ' Try to get the Current row version.
        Console.WriteLine(removedRow(0, DataRowVersion.Current))
    
    Catch e As System.Data.VersionNotFoundException
        Console.WriteLine("Current version of row not found.")
    End Try
End Sub 'DemonstrateVersionNotFoundException

[C#] 
private void DemonstrateVersionNotFoundException(){
    // Create a DataTable with one column.
    DataTable myTable = new DataTable("myTable");
    DataColumn myColumn = new DataColumn("col1");
    myTable.Columns.Add(myColumn);
    DataRow newRow;
      
    for(int i = 0;i <10;i++){
       newRow = myTable.NewRow();
       newRow["col1"] = i;
       myTable.Rows.Add(newRow);
    }
    myTable.AcceptChanges();
    try{
       Console.WriteLine("trying");
       DataRow removedRow = myTable.Rows[9];
       removedRow.Delete();
       removedRow.AcceptChanges();
       // Try to get the Current row version.
       Console.WriteLine(removedRow[0,DataRowVersion.Current]);
 
    }
    catch(System.Data.VersionNotFoundException){
       Console.WriteLine("Current version of row not found.");
    }
 }

[C++] 
private:
void DemonstrateVersionNotFoundException(){
    // Create a DataTable with one column.
    DataTable* myTable = new DataTable(S"myTable");
    DataColumn* myColumn = new DataColumn(S"col1");
    myTable->Columns->Add(myColumn);
    DataRow* newRow;
      
    for(int i = 0;i <10;i++){
       newRow = myTable->NewRow();
       newRow->Item[S"col1"] = __box(i);
       myTable->Rows->Add(newRow);
    }
    myTable->AcceptChanges();
    try{
       Console::WriteLine(S"trying");
       DataRow* removedRow = myTable->Rows->Item[9];
       removedRow->Delete();
       removedRow->AcceptChanges();
       // Try to get the Current row version.
       Console::WriteLine(removedRow->get_Item(0,DataRowVersion::Current));
 
    }
    catch(System::Data::VersionNotFoundException*){
       Console::WriteLine(S"Current version of row not found.");
    }
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data (System.Data.dll 内)

参照

VersionNotFoundException メンバ | System.Data 名前空間