Мне нужно отфильтровать дату в столбце «DATEATTEND» с таблицами данных, и это то, что я уже пробовал:
<div class="card-body">
<h4 class="card-title">DAILYDATA</h4>
<div class="table-responsive">
<asp:TextBox ID="txtDate" runat="server" TextMode="Date" />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<br />
<br />
<asp:Repeater ID="rptrDAILYDATATemplate" runat="server">
<HeaderTemplate>
<table id="myTable"
class="table table-striped table-bordered no-wrap" style="width:100%">
<thead>
<tr>
<th>NIP</th>
<th>NAME</th>
<th>DEPARTMENT</th>
<th>DATEATTEND</th>
<th>STATUSTYPE</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "NIP") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "NAME")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "DEPARTMENT") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "DATEATTEND") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "STATUSTYPE") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</div>
protected void Button1_Click(object sender, EventArgs e)
{
String CS = ConfigurationManager.ConnectionStrings["MANHOURConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(CS);
using (SqlCommand cmd = new SqlCommand("SELECT * FROM DAILYDATA WHERE LEFT(DATEATTEND,11)=@DATEATTEND", con))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
cmd.Parameters.AddWithValue("@DATEATTEND", txtDate.Text);
con.Open();
DataTable dtDaily = new DataTable();
sda.Fill(dtDaily);
rptrDAILYDATATemplate.DataSource = dtDaily;
rptrDAILYDATATemplate.DataBind();
con.Close();
}
}
}
, когда я запускаю его, кажется, работает ... но моя проблема в том, что когда я фильтрую, согласно дате в моей базе данных, появляется сообщение "нет данных", и я уверен, что у меня есть эта дата в моей базе данных. Почему это не работает?
столбец DATEATTEND
имеет тип данных datetime, например значение в этом столбце 2020-03-21 08:00:00
, и я просто хочу взять только 2020-03-21
, поэтому я использовал LEFT
функция.