Я возвращаю значения из базы данных в DataTable
. В базе данных у меня есть 5 значений, и если я запускаю запрос в Management Studio, я получаю ожидаемый результат. Однако мой вопрос при возвращении их с помощью функции C# Я получаю 9 значенийDatatable возвращает больше строк, чем необходимо
protected static DataTable GetData()
{
using (SqlConnection con = new SqlConnection(Common.ConnectionString))
{
string myQuery = "SELECT MESSAGE FROM MYTABLE ORDER BY CREATEDATE DESC";
using (SqlCommand cmd = new SqlCommand(sqlQuery, con))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
con.Open();
sda.SelectCommand = cmd;
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
}
И для отображения этого я вложенный asp Repeater
, которые имеют следующие
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table id="myt">
<tr>
<th>Message
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="sendbubble">
<%# DataBinder.Eval(Container.DataItem, "MESSAGE") %>
</td>
<asp:Repeater ID="InnerRepeater" runat="server">
<ItemTemplate>
<tr>
<td class="receivebubble" style="color: #ffffff;">
<%# DataBinder.Eval(Container.DataItem,"MESSAGE") %>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tr>
</ItemTemplate>
</asp:Repeater>
Я не понимаю, почему в Repeater1
я получаю повторяющиеся значения. В Page_Load
у меня есть
Repeater1.DataSource = GetData();
Repeater1.DataBind();
3 Значения из диспетчера 2 От Работника
Эти значения разделяются Flag
столбца, который содержит данные либо manager
или employee
Заранее спасибо за все ваши помощь и поддержка
Почему вы должны 'DataSource =" <% # GetData()%> ', а также 'Repeater1.DataSource = GetData();'? Также вы получаете 9 строк с нечетным числом, что он содержит? –
Вы вызываете GetData() дважды, один раз в коде b ehind и один раз в синтаксисе связывания данных aspx. Я бы не ожидал, что дублировать значения, но вы не должны дважды определять DataSource. – Gridly
@TimSchmelter Я только что удалил 'DataSource = '<% # GetData()%>', но у меня все еще есть такая же проблема – Izzy