Nä just det. Du skickar 0 argument och det är just det som felmeddelndet säger :)
Men just i det här fallet är problemet att du anropar en konstruktor på en datareader. Det man ska göra är att ropa på ExecuteReader på ett commandobject.
6 svar · 336 visningar · startad av trexter
Får felmsg på det fetstilta. Förstår inte vad de menar då jag uppenbarligen inte skickar med några parametrar.
public static IDataReader makeDataReader()
{
switch (connectionType)
{
case ((int)connectionTypes.SQLServer):
[b]return (IDataReader)new SqlDataReader();[/b]
case ((int)connectionTypes.ODBC):
[b]return (IDataReader)new OdbcDataReader();[/b]
}
//no match
return null;
}
Nä just det. Du skickar 0 argument och det är just det som felmeddelndet säger :)
Men just i det här fallet är problemet att du anropar en konstruktor på en datareader. Det man ska göra är att ropa på ExecuteReader på ett commandobject.
Hmm, tycker att jag gjort som i artikeln.
public static IDataReader makeDataReader(IDbCommand i)
{
switch (connectionType)
{
case ((int)connectionTypes.SQLServer):
SqlDataReader dr;
dr = (SqlDataReader)i.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return (IDataReader)dr;
case ((int)connectionTypes.ODBC):
[b]OdbcDataReader dr;[/b]
dr = (OdbcDataReader)i.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return (IDataReader)dr;
}
//no match
return null;
}
-- no overload for method odbcdatareader takes 0 arguments
Det felmeddelandet berodde på namnkonflikt.
Ett annat fel dock:
.cs
IDataReader myReader = ConnectionFactory.makeDataReader(commPoster);
meddelanden.DataSource = myReader;
meddelanden.DataBind();
conn.Close();
.aspx
<asp:Repeater runat="server" id="meddelanden">
<HeaderTemplate>
<table width="500">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "Xdatum") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "Xrubrik") %></td>
<td><b><%# DataBinder.Eval(Container.DataItem, "Xgammal") %></b></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Inget felmeddelande men ingenting visas. Hur ska det se ut?
Vad skickar du med för SQL ?
Är du säker på att readren innehåller något och att det är rätt?