ASP.Net/ADO.net Database/Exception

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Catch database operation exceptions for data binding

<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.Oledb" %>
<script language="vb" runat="server">
Sub Page_Load()
  Dim strConnection as String = "Provider=Microsoft.Jet.OLEDB.4.0;"
    strConnection += "Data Source=C:\Northwind.mdb"
    data_src.text = strConnection
  Dim strSQL as string = "SELECT FirstName, MiddleName, LastName FROM Employees;"
  Dim objDataSet as new DataSet()
  Dim objConnection as new OledbConnection(strConnection)
  Dim objAdapter as new OledbDataAdapter(strSQL, objConnection)
Try
  objAdapter.Fill(objDataSet, "Employees")
  
  Dim objDataView as New DataView(objDataSet.Tables("Employees"))
  
  dgNameList.DataSource=objDataView
  dgNameList.DataBind()
Catch objError as OledbException
  If Left(objError.Message,21)="Login failed for user" Then 
    divErrorReport.InnerHTML = "Problem with Log-in"
  ElseIf Left(objError.Message,19)="Could not find file" Then 
    divErrorReport.InnerHTML = "We could not find the MDB file that you asked for"
  Else
    divErrorReport.InnerHTML =  "<br />message - " & objError.Message
    divErrorReport.InnerHTML += "<br />source - " & objError.Source
  End If
End Try
end Sub
</script>
<html>
  <body>
  <h4>Writing data from the connection
    <asp:label id="data_src" runat="server"/>
    to the DataGrid control with error checking.</h4>
  <div id="divErrorReport" runat="server"> </div>
  <asp:datagrid id="dgNameList" runat="server" /><br />
  </body>
</html>