prem shanker verma Ответов: 1

Обработка исключения "столбец не принадлежит таблице"


If System.IO.File.Exists(strPathName & "_Master.xml") Then
            dsMaster.ReadXml(strPathName & "_Master.xml")
        Else
            MessageBox.Show("Master does not exist")

        End If
            Dim rowMaster() As DataRow = dsMaster.Tables(0).Select("FinYearID=" & GlobalClass.finYearId & " And MemType='" & GlobalClass.MemType & "' And MemberID='" & rowTran("MemberID") & "'")

Dim strBuilder As New StringBuilder
            strBuilder.AppendLine("<?xml version='1.0' encoding='utf-8'?>")
            'declare the start root.
            strBuilder.AppendLine("<ReportInfo>")
            strBuilder.Append("<Info>")

 strBuilder.Append("<Email>")
            Try
                strBuilder.Append(rowMaster(0)("Email") & "") ' to test if there is any "Email" column in master table or not ?
            Catch ex As Exception
                strBuilder.Append("")
            End Try
            strBuilder.Append("</Email>")

  strBuilder.Append("</Info>")
            'declare the end root.
            strBuilder.AppendLine("</ReportInfo>")




------------------------------------------------------------------------------
Я использую приведенный выше код для создания xml-файла.
Я читаю данные из xml-файла с именем "master".
В главном файле отсутствует какой-то тег, например, тег <email>, Поэтому, когда я читаю тег электронной почты, он дает мне исключение "столбец не принадлежит таблице".

Я могу справиться с этим исключением с помощью блока try-catch, но я хочу знать, есть ли какой-либо способ справиться с ним с помощью оператора if-else, например "isDBNull" или "is Not Nothing".

Пожалуйста, скажите мне, если кто-нибудь знает...
Я буду очень благодарен ему/ей.

Dalek Dave

Отредактировано для грамматики и удобочитаемости.

1 Ответов

Рейтинг:
12

nit_singh

Вы можете проверить это так

if(dt.Columns.Contains("COLUMNNAME"))
   return dt.Rows(0)("COLUMNNAME") 
else
   return string.Empty


Dalek Dave

Ницца.