[Mono-devel-list] BUG in DbDataAdapter.cs (was: SQLClient (was: AW: [Mono-devel-li st] (Mono) ASP.NET DataBindung, and apache mod_mono))

Krieg Andreas Krieg.Andreas at OCE.DE
Mon Jun 16 05:44:14 EDT 2003

I found a bug in the Method Fill(DataSet dataSet, string srcTable,
IDataReader dataReader, int startRecord, int maxRecords)

At line 194:

	if(dataTable.Rows.Count > 0) {
		tableName = String.Format ("{0}{1}", srcTable,

This code does not add a table that contains no Rows, MS .NET does.....so I
changed the code to

		tableName = String.Format ("{0}{1}", srcTable,

Could someone please review and commit, I have no CVS access for submission.


-----Ursprüngliche Nachricht-----
Von: Krieg Andreas [mailto:Krieg.Andreas at OCE.DE] 
Gesendet: Freitag, 13. Juni 2003 11:59
An: 'mono-devel-list at lists.ximian.com'
Betreff: SQLClient (was: AW: [Mono-devel-list] (Mono) ASP.NET DataBindung,
and apache mod_mono)
Wichtigkeit: Hoch

I made some tests with DataBinding and empty lists/hand made DataTables,
works fine.

Seems to be some sql stuff it happens with the following code:

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
    public DataSet GetDBEvents() {
        // Create Instance of Connection and Command Object
        SqlConnection myConnection = new
SqlConnection("server=localhost;user id=sa;password=pw;database=Portal");
        SqlDataAdapter myAdapter   = new SqlDataAdapter();
        SqlCommand myCommand = new SqlCommand("Select * from Events where
ModuleID=38", myConnection);
        myCommand.CommandType = CommandType.Text;
        DataSet myDataSet = new DataSet();
        myAdapter.SelectCommand = myCommand;
        // Return the DataSet
        return myDataSet;
    void Page_Load(Object sender, EventArgs e) {
                myDataList.DataSource = GetDBEvents();
    <h1>Upcoming Events</h2>
    <form runat="server">
        <asp:DataList id="myDataList" runat="server" EnableViewState="false"
Width="98%" CellPadding="4">
                <asp:Label Text='<%#
DataBinder.Eval(Container.DataItem,"Title") %>' runat="server" />
                <br />
                <span class="Normal"> <i> <%#
DataBinder.Eval(Container.DataItem,"WhereWhen") %> </i> </span> 
                <br />
                <span class="Normal"> <%#
DataBinder.Eval(Container.DataItem,"Description") %> </span> 
                <br />
        <!-- Insert content here -->

Seems that the SqlAdapter doesn't fill any information into the Dataset if
the Events table has now Datarows, then I get the Exception.

Don't know if it is the same with other Databases....

Ok, if there are no comments I'll prepare more documents for a bug



-----Ursprüngliche Nachricht-----
Von: Gonzalo Paniagua Javier [mailto:gonzalo at ximian.com] 
Gesendet: Donnerstag, 12. Juni 2003 18:54
An: 'mono-devel-list at lists.ximian.com'
Betreff: Re: [Mono-devel-list] (Mono) ASP.NET DataBindung, and apache

El jue, 12-06-2003 a las 17:19, Krieg Andreas escribió:
> And the following warning:
> (/u/home/kriegand/mono/install/bin/mcs.exe:17708): WARNING **: cant
> resolve internal call to 
> "Apache.Web.Request::SetStatusLineInternal(intptr,string)"
> (tested without signature also)

Don't worry about that warning.

> What is out of sync? I built fresh from cvs with the build script and
> rebuild the class library....
> However, the ModMono.dll will be createt but if I go through apache
> and go to the mono tests that I used the following error appears:
> Error
> Description: Error processing request.
> Error Message: String returned by 
> HttpRuntime.GetResourceStringFromResourceManager
> Stack Trace:
> System.Web.HttpException: String returned by
> HttpRuntime.GetResourceStringFromResourceManager
> in <0x0008e> 00 System.Web.HttpApplication:InitModules ()

> Ok I know in the FAQ there is something about that, seems that the
> machine.config can not be found, but I paced it in the install/etc, in 
> /etc/mono and /usr/etc/mono and I created the ModMono.exe.config in my 
> directory where the aspx pages are, but no success, any idea?

You must install that file in $PREFIX/etc/mono. It's in
mono/data/machine.config in CVS.
> The next GENERAL problem I have is the databinding of controls. For
> example the IBuySpy Portal has an event modul that reads the Events 
> from a DataBase, the returned collection is a DataSet that will be 
> bound to a DataGrid or Repeater or whatever, when there are no 
> datasets I get the same error like the error from mod_mono:
>  Error
> Description: Error processing request.
> Error Message: String returned by 
> HttpRuntime.GetResourceStringFromResourceManager
> Stack Trace:....
> I found out that the function GetResolvedDataSource() from
> System.Web.Util throws an exception when there are no members in the 
> DataSet, in line 56/57:
> 	throw new
> HttpException(HttpRuntime.FormatResourceString("ListSource_Without_Dat
> aMembe
> rs"));
> I think this is fatal, the MS ASP.NET stuff for example displays only
> the header of the DataTable that it was bound to, if there are no 
> Members in the DataTable or the IEnumerable class that the control is 
> bound to.....
> Is this a bug or what can I do??

This may be a bug. Please, fill a bug report attaching a small test case to
reproduce it.


Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list