ASP.NET Tutorial/ADO.net Database/OleDbDataReader — различия между версиями

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

Текущая версия на 11:56, 26 мая 2010

Iterating Through A OleDbDataReader

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
    void Page_Load(object sender, EventArgs e)
    {
        string ConnectionString = Convert.ToString(ConfigurationSettings.AppSettings["AccessConnectString"]);
        string CommandText = "SELECT AuthorName, AuthorCity, AuthorContact_Email, AuthorWebsite FROM Author";
        OleDbConnection myConnection = new OleDbConnection(ConnectionString);
        OleDbCommand myCommand = new OleDbCommand(CommandText, myConnection);
        try {
            myConnection.Open();
            OleDbDataReader myReader = myCommand.ExecuteReader();
        if (myReader.HasRows) {
            while (myReader.Read())
            {
               for (int i=0; i<=(myReader.FieldCount-1); i++)
               {
                  if (myReader.IsDBNull(i))
                  {
                     Label1.Text += "Warning: Field " + i + " is NULL.";
                  }
               }
               Author p = new Author();
               p.Name = myReader.GetString(0);
               p.City = myReader.GetString(1);
               p.Email = myReader.GetString(2);
               p.Website = myReader.GetString(3);
               Label1.Text += p.ToString();
            }
         }
         else
         {
            Label1.Text = "No rows returned";
         }
            if (!(myReader.IsClosed))
            {
               myReader.Close();
            }
        } catch (Exception ex)
        {
            throw (ex);
        }
        finally
        {
            myConnection.Close();
        }
    }

    public class Author
    {
        public string Name;
        public string City;
        public string Email;
        public string Website;
        public Author()
        {}
        public string ToString()
        {
            string description = "";
            description = "Name : " + this.Name + "<br />";
            description += "City : " + this.City + "<br />";
            description += "Contact : <a href=mailto:" + this.Email + ">" + this.Email + "</a><br/>";
            description += "Homesite : <a href="" + this.Website + "">" + this.Website + "</a><br/><br/>";
            return description;
        }
    }
</script>
<html>
</title>
</head>
<body>
    <asp:Label id="Label1" runat="server"></asp:Label>
</body>
</html>
File: Web.config
<configuration>
    <appSettings>
      <add key="AccessConnectString"
           value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Books.mdb;" />
    </appSettings>
</configuration>