Error llenar control repeater

Ea de nuevo estoy aquí, hola antes que nada, tengo un problemilla con el control repeater que uso para enseñar unos datos, uso las plantillas itemtemplate y alternatingitemtemplate ademas de la separetortemplate, bien el caso es que usando una instrucción sql que no use la calusula where, pues lleno el repeater y me parecen datos en el itemtemplate y el alternatingitemtemplate, el caso es que si uso una instrucción sql con la clausula where, el alternatingitemtemplate no se me llena, no es error de la instrucción sql (creo) pues la he comprobrado en access y sin problemas, así que no tengo ni ideaporque me pasa esto, te dejo el código al completo para que le eches un vistazo a ver si sabes porque me da ese error
<%@ Page Language="VB" debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Sub Page_Load(obj As Object, e As EventArgs)
dim fecha as date
fecha=session("fecha")
response.write(fecha)
' Establezca la conexión
Dim conn As New OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:aspnetdatoserrores.mdb")
' Abra la conexión
dim objlector as oledbdatareader
dim objcmd as new oledbcommand _
("SELECT tblerror.titerror, tblerror.menerror, tblsolucion.mensolucion FROM tblsolucion INNER JOIN tblerror ON tblsolucion.iderror=tblerror.iderror where tblerror.fechaerror= # 16/08/2004 13:35:31 #;", conn)
' Llene el conjunto de datos
try
objcmd.connection.open()
objlector=objcmd.executereader
catch ex as oledbexception
response.write("no se pudo conectar")
end try
' Seleccione la vista de datos y vincúlela al control del servidor
Repeater1.DataSource =objlector
repeater1.databind
objcmd.connection.close
end sub
</script>
<html><body>
<HTML>
<body MS_POSITIONING="GridLayout">
<TABLE height="200" cellSpacing="0" cellPadding="0" width="440" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="184" height="136"></TD>
<TD width="289"></TD>
</TR>
<TR vAlign="top">
<TD height="64"></TD>
<TD>
<DIV ms_positioning="GridLayout">
<TABLE height="63" cellSpacing="0" cellPadding="0" width="288" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="288" height="63">
<ASP:Repeater id="Repeater1" runat="server" >
<HeaderTemplate>
<table>
<tr>
<td bgcolor="#cccc99" width=300><b>Nombre</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<tr>
<td width=300> <%# Container.DataItem("mensolucion") %>
</td>
</tr>
<td><%# container.dataitem("mensolucion") %> </td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<tr>
<td width=300> <b>nombre largito para er</b>
</td>
</tr>
<td> <%# container.dataitem("titerror") %> </td>
</tr>
</AlternatingItemtemplate>
<SeparatorTemplate>
<tr>
<td colspan="1" align="center">
...
</td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</ASP:Repeater>
</TR>
</TABLE>
</DIV>
</TD>
</TR>
</TABLE>
</body>
</HTML>
No tengo ni idea de que puedo hacer llevo liado con esto dos días

1 respuesta

Respuesta
1
He estao mirando el código y aunque no domino mucho de ASP.NET no encuentro ningún fallo, quizás lo único es la instrucción SQL, concretamente en la fecha # 16/08/2004 13:35:31 #. Prueba a no dejar espacios entre los caracteres # y la fecha y adems prueba la fecha en este formato mm/dd/aaaa, ya que si no recuerdo mal (no estoy muy seguro con el carácter # deben ir en este formato. Para salir totalmente de dudas utiliza otro campo en el where, que no sea fecha, no se algún campo numérico y a ver si te funciona.
Al final con la misma instrucción sql lo conseguí hacer, para ello lo que hice fue que dentro del primer itemtemplate, inserte otro itemtemplate y un alternatingitemtemplate, y así todo me fucnionaba perfectamente, vamos el código igual que el que tu estas viendo, pero imaginate un itemtemplate que engloba al itemtemplate y el alternatingitemtemplate que ya estas viendo, y así si me funciona es muy raro tío debería de haberme funcionado de la otra manera también, pero ya ves las cosas raras, gracias por todo tío, un saludo desde sevilla, y con menos calorsita ya

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas