Mobile ObjectList problem loadind array The DataField 'TheTime' does not exist in the source data?

Posted on 2007-11-25
Last Modified: 2010-04-21

This is perplaxing.  I am new to development for mobile application so maybe I am missing something.
I want the players in my hockey league to have mobile cell phone access to the league schedule.  I can do this but when I add an extra field "TheTime", I get the following error:

The DataField 'TheTime' does not exist in the source data.  Specify a different DataField property, or remove the field.

I KNOW this field exists and when I write the code for a regular data reader, no problem.  I am using the same sql stored procedure for both.

Here's my sub.  I've created a class to hold the gameschedule so I can have more than one field in the objectlist.  This works on the web now at but as soon as I try to add TheTime field everything crashes:

Code attached

<%@ Page Language="VB" Inherits="System.Web.UI.MobileControls.MobilePage" %>

<%@ import Namespace="System.Data.SqlClient" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>

<script runat="server">

    Private Class GameSchedule

        Dim _thedate, _time, _hometeam, _awayteam, _venue As String

        Public Sub New(ByVal thedate As String, ByVal thetime As String, ByVal hometeam As String, ByVal awayteam As String, ByVal venue As String)


            _thedate = thedate

            _time = time

            _hometeam = hometeam

            _awayteam = awayteam

            _venue = venue


        End Sub

        Public ReadOnly Property hometeam() As String


                Return _hometeam

            End Get

        End Property

        Public ReadOnly Property awayteam() As String


                Return _awayteam

            End Get

        End Property


        Public ReadOnly Property thedate() As String


                Return _thedate

            End Get

        End Property


        Public ReadOnly Property venue() As String


                Return _venue

            End Get

        End Property


        Public ReadOnly Property time() As String


                Return _time

            End Get

        End Property


    End Class

    Sub Page_Load()

        If Not Page.IsPostBack Then

            Dim myConnection = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connectionstring"))


            Dim myCommand = New SqlCommand("qGetTeamsInfoForGridView", myConnection)

            myCommand.CommandType = Data.CommandType.StoredProcedure

            Dim reader As SqlDataReader = myCommand.ExecuteReader()

            List1.DataSource = reader

            ' Dim teamid As Integer

            ' Dim shortname As String


            If reader.HasRows Then


                List1.DataTextField = "ShortName"

                List1.DataValueField = "TeamID"




            End If





        End If

    End Sub


    Sub GetTeamSchedule(ByVal Src As Object, ByVal Args As ListCommandEventArgs)



        Dim teamname As String

        Dim teamid As Integer

        teamid = Args.ListItem.Value

        teamname = Args.ListItem.Text

        Dim myConnection = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connectionstring"))


        Dim myCommand = New SqlCommand("qGetScheduleWithTeamID", myConnection)

        myCommand.CommandType = Data.CommandType.StoredProcedure

        myCommand.Parameters.Add(New SqlParameter("@teamid", Data.SqlDbType.Int))

        myCommand.Parameters("@teamid").Value = teamid

        Dim reader As SqlDataReader = myCommand.ExecuteReader()

        Dim schedulearray As New ArrayList()


        If reader.HasRows Then

            While reader.Read() = True

                schedulearray.Add(New GameSchedule(reader("TheDate"), reader("TheTime"), reader("hometeam"), reader("awayteam"), "C_Center"))

            End While

            Title.Text = "Two Weeks - Schedule: " & teamname


            ObjectListSchedule.DataSource = schedulearray


        End If




        ActiveForm = Form2

    End Sub


<html xmlns="" >


    <mobile:form id="form1" runat="server">

        <mobile:Label ID="Label1" Runat="server">QIIHL Teams: Schedule</mobile:Label>

        <mobile:Label ID="Label2" Runat="server">Choose Team</mobile:Label>

        <br />

        <mobile:List ID="List1" Runat="server"  OnItemCommand="GetTeamSchedule" >





    <mobile:Form ID="Form2" Runat="server">

    <mobile:Label ID="Title" runat="server" StyleReference="title" Font-Size="Small">Schedule</mobile:Label>





        TableFields="TheDate;TheTime;HomeTeam;AwayTeam" CommandStyle-StyleReference="subcommand" Font-Size="Small" LabelStyle-StyleReference="title">

           <Field DataField="TheDate" Name="TheDate" Title="Date" />

           <Field DataField="TheTime" Name="TheTime" Title="Time" />

           <Field DataField="HomeTeam" Name="HomeTeam" Title="Home" />

           <Field DataField="AwayTeam" Name="AwayTeam" Title="Away" />




        <mobile:Link ID="Link1" Runat="server" NavigateUrl="#form1">Team List</mobile:Link>




Open in new window

Question by:vstack
  • 2

Accepted Solution

gocemi earned 500 total points
ID: 20348709

Do you fetch "TheTime" - field from the DB?
Do you convert data in String?
start the debug, add breakpoint on line  102 and view "reader" properties in the QuickWatch window


Author Comment

ID: 20349198
I fetch it from the DB.  I will try .ToString.  Thanks

Author Closing Comment

ID: 31410862
Thanks, I've finally worked this out.  Part of the solution was the .ToString on the date

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Internet Business Fax to Email Made Easy - With  eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now